以下是app.config中的log4net部分
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net debug="true">
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="${TMP}\SRG\Logs\Log_%env{USERNAME}_%date{yyyyMMdd}.log" />
<appendToFile value="true" />
<bufferSize value="20" />
<LockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<header type="log4net.Util.PatternString" value="[Log Starts]%newline" />
<footer type="log4net.Util.PatternString" value="[Log Ends]%newline" />
<conversionPattern value="%date [%username] - %message%newline" />
</layout>
</appender>
<logger name="SRGApplicationDebugLog">
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</logger>
</log4net>
问题1:每当我的应用程序启动时,我的页眉和页脚都会两次,但我需要避免它。
[Log Starts]
[记录结束]
[记录开始]
[记录结束]
[记录开始]
2012-11-08 12:25:03,376 [用户名] - 申请开始了 [记录结束]
问题2:我没有从两个空页眉页脚来到哪里。
_debugLogger = LogManager.GetLogger("SRGApplicationDebugLog");
XmlConfigurator.Configure();
_debugLogger.DebugFormat(logMessage);
[assembly: XmlConfigurator(Watch = true)]
问题:想以粗体
解决问题答案 0 :(得分:5)
您不需要
XmlConfigurator.Configure();
如果你有
[assembly: XmlConfigurator(Watch = true)]
两者都会产生两个页眉和两个页脚。
至于为什么你有三套,或许你打电话给XmlConfigurator.Configure()
两次。
答案 1 :(得分:0)
将XmlConfigurator.Configure()放在多个位置可能会导致多于一个页眉和页脚对。
XmlConfigurator.Configure()只应在解决方案的某个位置定义。更好的&gt;方法是将它放在AssemblyInfo.cs中。