Log4net不能在wpf中打印到控制台

时间:2012-02-21 14:13:37

标签: wpf log4net

我在log4net中有一个带有2个log4net appender的WPF应用程序,第一个打印到文件,第二个打印到控制台。

出于某种原因,我无法在log4net上显示结果,但我确实在文件中看到了它。有什么问题?

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net debug="true">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\\Temp\\1.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
      </layout>
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\r\n" />
        <param name="Footer" value="[Footer]\r\n" />
        <param name="ConversionPattern" value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>
  </log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

3 个答案:

答案 0 :(得分:2)

启动应用程序时是否会弹出控制台。

您可能需要将应用程序配置为控制台项目才能拥有控制台窗口......

否则您可以查看跟踪信息。通常情况下,如果appender无法登录到所需位置,则会尝试在此处留下一条错误消息。

visual studio的输出窗口在调试时捕获跟踪消息...

可能重复:Log4net won't log to console (WinForms app)

答案 1 :(得分:1)

如果您想在visual studio的输出窗口中查看消息,请改为使用以下内容:

<appender name="TraceAppender" type="log4net.Appender.TraceAppender" >

答案 2 :(得分:0)

你打电话一次XmlConfigurator.Configure()吗?