正在创建log4net日志但仍为空

m.e*_*son 8 .net c# log4net winforms

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

码:

[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
        }

     }

}
Run Code Online (Sandbox Code Playgroud)

的app.config

  <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>
Run Code Online (Sandbox Code Playgroud)

关于什么可能是错的任何指针?

m.e*_*son 6

这一切都发生在我身上......一旦我发布问题.

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

现在记录工作正常.

  • 将`<log4net debug ="true">`添加到配置的开始标记以查看更多信息也很有用,假设您有一个控制台来查看输出 (2认同)