7

log4netを使おうとしています。アプリを起動するとログファイルが作成されますが、何度呼び出しLog.Info("Application Started");ても空のままです。私はグーグルが返す最初の2ページを調査しました、そして私のコードはすべての例と一致するようです。

コード:

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

     }

}

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>

何が間違っているのかについての指針はありますか?

4

1 に答える 1

6

これはいつも私に起こります...私が質問を投稿するとすぐに。

私の<configSections></configSections>タグは、構成が取得されないことを意味する直接の子で<configuration>はなかったことがわかりました(私は推測します)。log4netはすべての例外を飲み込むため、これは私のアプリにさらに現れました。

現在、ロギングは正常に機能しています。

于 2012-04-24T10:28:02.030 に答える