log4net不会写入该文件

时间:2013-07-25 12:36:04

标签: c# winforms log4net

我有一个Windows窗体应用程序,我正在尝试使用log4net来记录文件 在我的app.config中,我有:

<log4net debug="false">
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender,log4net" >
      <param name="File" value="C:\...\LogFile.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%n%n%n%d [%t] %-5p %c  - %m%n%n" />
      </layout>
    </appender>
    <root>
      <priority value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <category name="DesktopLogger.Form1">
      <priority value="ALL" />
    </category>
</log4net>

在我主要表格背后的代码中:

public log4net.ILog    Logger  { get; set; }

作为属性并在表单初始化中我有:

log4net.Config.XmlConfigurator.Configure();

this.Logger= LogManager.GetLogger(typeof(Program));

之后,在点击按钮事件中我有:

this.Logger.Info("text for the logger");

当我打开文件后 - 没有写入它。它只是一个空文件。

3 个答案:

答案 0 :(得分:1)

你错过了布局:

<layout type ...>
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>

你当然可以根据自己的意愿制作任何布局,这只是一个例子。

答案 1 :(得分:0)

无论迈克尔建议应该如何工作,但如果它仍然没有,那么你可以尝试添加

 <level value="INFO" />

在您的<root>代码中

    <root>
      <priority value="ALL" />
      <level value="INFO" />
      <appender-ref ref="LogFileAppender" />
    </root>

答案 2 :(得分:0)

与您相同的问题,遵循相同的教程。答案可以帮助其他人在将来使用它。使用此配置:

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
  <root>
    <level value="DEBUG" />
    <appender-ref ref="LogFileAppender" />
  </root>
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
    <param name="File" value="log-file.txt" />
    <param name="AppendToFile" value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
  </appender>
</log4net>