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

时间:2014-10-01 10:22:57

标签: c# log4net immediate-window

我有一个使用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>

1 个答案:

答案 0 :(得分:10)

在您的配置中添加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>