我有一個web應用程序,並希望根據所調用的Web服務登錄到不同的文件。Log4.net - 如何登錄到同一應用程序中的2個不同的文件?
因此,WS1將登錄到WS1_log.txt,例如,WS2將登錄到WS2_log.txt。
這可能嗎?
我有一個web應用程序,並希望根據所調用的Web服務登錄到不同的文件。Log4.net - 如何登錄到同一應用程序中的2個不同的文件?
因此,WS1將登錄到WS1_log.txt,例如,WS2將登錄到WS2_log.txt。
這可能嗎?
你的回答是的,你可以做到這一點。創建兩個配置中的(軋)文件附加目的地,然後配置你的記錄器這樣的:
<appender name="FileAppenderWebservice1" type="log4net.Appender.RollingFileAppender">
<file value="c:\logs\webservice1.txt" />
...
</appender>
<appender name="FileAppenderWebservice2" type="log4net.Appender.RollingFileAppender">
<file value="c:\logs\webservice2.txt" />
...
</appender>
<root>
<level value="ALL" />
</root>
<logger name="YourNameSpace.Webservice1Class">
<appender-ref ref="FileAppenderWebservice1" />
</logger>
<logger name="YourNameSpace.Webservice2Class">
<appender-ref ref="FileAppenderWebservice2" />
</logger>
這就要求你每個Web服務創建一個記錄是這樣的:
ILog logger = LogManager.GetLogger(typeof(WebserviceClass));
如何將log4net配置放入Web服務中最本地的web.config中。
問題更新! – 2010-05-14 09:57:45
我想你可能會發現這裏Change log file
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
<file type="log4net.Util.PatternString"
value="%envFolderPath{CommonApplicationData}\\test.txt" />
...
</appender>
一個更正將是記錄器的名稱似乎是我的日誌包裝類沒有名稱空間的名稱。 – 2010-05-14 11:59:12