开发者

Log4.net - how to log to 2 different files in same application?

I have a web application and would like to log to different files depending on which web service开发者_如何学Python gets called.

So WS1 will log to WS1_log.txt for example, while WS2 will log to WS2_log.txt.

Is this possible?


Yes you can do that. Create two (rolling) file appenders in your configuration and then configure your loggers like this:

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

This requires that you create a logger per webservice like this:

ILog logger = LogManager.GetLogger(typeof(WebserviceClass));


I think you may find your answer here Change log file

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


How about putting the log4net config in a web.config most local to the web service.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜