【问题标题】:Class will not log to a file with log4net类不会使用 log4net 记录到文件
【发布时间】: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 -&gt; %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 -&gt; %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 之前登录,它也会记录到控制台和文件。只是这个类不会记录。

任何帮助都会非常好。提前谢谢你。

【问题讨论】:

    标签: c# logging log4net


    【解决方案1】:

    我找到了解决方案。我正在使用自定义 LogPatternLayout,它也尝试初始化 MainService,因此在可以读取 LogPatternLayout 并将其初始化到 Logger 之前初始化 MainService。因此日志记录发生在 MainService 初始化之后。

    【讨论】:

      猜你喜欢
      • 2012-09-21
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多