在即时窗口中查看log4net的调试消息

本文关键字:log4net 调试 消息 窗口 | 更新日期: 2023-09-27 18:25:08

我有一个使用log4net的应用程序。我将调试转储到一个文件以及stdout。正常启动应用程序时,我会在输出部分和文件中看到所有消息。

如果我创建了一个类/运行了一个函数,该函数在立即窗口中向日志中写入了一些内容,那么在输出和立即窗口中都看不到任何内容。不过,我确实在文件中看到了日志。

有什么办法可以修复它,这样我就可以在即时窗口中看到这些消息了吗?

Log4net配置:

<log4net>
    <root>
      <level value="DEBUG"/>
      <appender-ref ref="FileAppender"/>
      <appender-ref ref="ConsoleAppender"/>
      <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date{dd.MM.yyyy HH:mm:ss.ffff} [%thread] %level %logger%exception - %message%newline"/>
        </layout>
      </appender>
      <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs/log.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="1" />
        <maximumFileSize value="1MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date{dd.MM.yyyy HH:mm:ss.ffff} [%thread] %level %logger%exception - %message%newline"/>
        </layout>
      </appender>
    </root>
  </log4net>

在即时窗口中查看log4net的调试消息

DebugAppender添加到您的配置中,以便在即时窗口中显示消息(我在VS2013上测试了这一点)

  <root>
    <level value="DEBUG" />
    <appender-ref ref="FileAppender" />
    <appender-ref ref="ConsoleAppender" />
    <appender-ref ref="DebugAppender" />
  </root>
  <appender name="DebugAppender" type="log4net.Appender.DebugAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date{dd.MM.yyyy HH:mm:ss.ffff} [%thread] %level %logger%exception - %message%newline" />
    </layout>
  </appender>