我有一个Web应用程序,并希望根据调用的Web服务登录到不同的文件。
因此WS1将记录到WS1_log.txt,而WS2将记录到WS2_log.txt。
这可能吗?
答案 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中。