【发布时间】:2016-07-21 14:17:44
【问题描述】:
我有一个基于 MVC 的 C# Windows 窗体应用程序。我在 app.config 文件中有以下配置:
<log4net>
<root>
<level value="ALL"/>
<appender-ref ref="LogConsoleAppender"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
<appender name="LogConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="QAC.Source.Services.Log.LogPatternLayout">
<conversionPattern value="%date %level [Thread: #%thread] %message [%logger -> %M]%newline"/>
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/QAC_"/>
<datePattern value="yyyy-MM-dd_HH-mm-ss'.log'"/>
<staticLogFileName value="false"/>
<appendToFile value="false"/>
<rollingStyle value="Date"/>
<maxSizeRollBackups value="50"/>
<maximumFileSize value="10MB"/>
<layout type="QAC.Source.Services.Log.LogPatternLayout">
<conversionPattern value="%date %level [Thread: #%thread] %message [%logger -> %M]%newline"/>
</layout>
</appender>
</log4net>
在 main 方法中,在第一个 lin 中,我调用 private static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);,然后初始化我的主服务:
mainService = MainFactory.getMainServiceInstance();
还有问题。 main 方法中的所有日志输出都成功记录到文件和控制台,以及其他服务(来自 MainService 的基础服务)。唯一未记录的类是 MainService。对此的好奇是,这个类的日志记录会在一段时间后开始。我不使用任何过滤器。我已经开启了log4net调试:
<add key="log4net.Internal.Debug" value="true"/>
,但至少没有错误。所以我认为,初始化通过了。此外,如果我在初始化 MainService 之前登录,它也会记录到控制台和文件。只是这个类不会记录。
任何帮助都会非常好。提前谢谢你。
【问题讨论】: