【发布时间】:2013-12-19 14:08:55
【问题描述】:
我遇到了一个问题,当我配置了两个附加程序并尝试将日志消息写入其中一个附加程序时,这也会将相同的消息写入另一个附加程序文件。下面是配置部分,
<log4net>
<root>
<level value="INFO" />
<appender-ref ref="ErrorLog" />
<appender-ref ref="PayWinSrvLog" />
</root>
<appender name="ErrorLog" type="log4net.Appender.FileAppender">
<param name="File" value="E:\Webhome\FimFolders\BankWinserviceService\Error_Log.txt" />
<param name="AppendToFile" value="true" />
<maxSizeRollBackups value="0" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<maximumFileSize value="2MB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
</layout>
</appender>
<appender name="PayWinSrvLog" type="log4net.Appender.FileAppender">
<param name="File" value="E:\Webhome\FimFolders\BankWinserviceService\PayWinSrv_Log.txt" />
<param name="AppendToFile" value="true" />
<maxSizeRollBackups value="0" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<maximumFileSize value="2MB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
</layout>
</appender>
这是我在 Windows 服务项目的 Start 方法中使用的唯一代码。
protected override void Start()
{
ErrorLog = LogManager.GetLogger("ErrorLog");
PayWinSrvLog = LogManager.GetLogger("PayWinSrvLog");
XmlConfigurator.Configure();
ErrorLog.Error("Error Message."); // this also get printed in PayWinSrv_Log.txt
}
我也加入了这条线
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
对不起,我的英语不好。
【问题讨论】:
标签: c# windows-services log4net