Log4.net - 如何在同一个应用程序中登录到2个不同的文件?

时间:2010-05-14 09:15:37

标签: c# log4net

我有一个Web应用程序,并希望根据调用的Web服务登录到不同的文件。

因此WS1将记录到WS1_log.txt,而WS2将记录到WS2_log.txt。

这可能吗?

3 个答案:

答案 0 :(得分:3)

是的,你可以这样做。在您的配置中创建两个(滚动)文件追加器,然后像这样配置您的记录器:

<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));

答案 1 :(得分:0)

我想你可以在Change log file

找到答案
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file type="log4net.Util.PatternString" 
        value="%envFolderPath{CommonApplicationData}\\test.txt" />
    ...
</appender>

答案 2 :(得分:-1)

如何将log4net配置放在Web服务最本地的web.config中。