7

我正在尝试使用log4net。当我启动应用程序时,它会创建日志文件,但无论我调用多少次Log.Info("Application Started");它都是空的。我研究了谷歌返回的前两页,我的代码似乎与所有示例匹配。

代码:

[assembly: XmlConfigurator(Watch = true)]

namespace Generator
{
     public class Run
     {

       private static readonly log4net.ILog Log =
       log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

        public List<BILL_RUN> PerformBillRun()
        {
             XmlConfigurator.Configure();

             Log.Info("Application Started");
             var enabled = Log.IsInfoEnabled; //This is true
        }

     }

}

应用程序配置

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="log-files.txt" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>

    <root>
      <level value="All" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>

关于可能出现什么问题的任何指示?

4

1 回答 1

6

这总是发生在我身上……我一发布问题。

事实证明,我的<configSections></configSections>标签并不是直接的孩子,<configuration>这意味着配置不会被拾取(我假设),并且因为 log4net 吞下了所有异常,这只会进一步体现在我的应用程序中。

日志记录现在工作正常。

于 2012-04-24T10:28:02.030 回答