0

Log4Net を使用するのはこれが初めてなので、本当にばかげたことをしていると確信しています。

App.configのタグ内には<configuration>、次のものがあります。

<log4net>
   <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
     <param name="File" value="log-file.txt" />
     <param name="AppendToFile" value="true" />
     <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\r\n" />
        <param name="Footer" value="[Footer]\r\n" />
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
     </layout>
   </appender>

   <root>
     <level value="WARN" />
        <appender-ref ref="LogFileAppender" />
   </root>
</log4net>

Program.cs ファイルで ConfigurationException をキャッチします。

Message: Configuration system failed to initialize
InnerException: Unrecognized configuration section log4net.

ただし、Web サイトで提供されている .NET の例からそのまま構成コードをコピーして貼り付けました。私は彼らのドキュメントを読みましたが、これまでに何らかのロギング フレームワークを使用したことがない人にとってはかなり混乱しています。また、CodeProject でいくつかのチュートリアルを見つけました。これらのチュートリアルは、あなたの手をよりよく保持しますが、私が間違ったことを突き止めることはできません。<root>要素の前に要素を配置しようと<appender>したところ、同じ ConfigException が発生しました。はい、DLL への参照をプロジェクトに追加しました。

4

1 に答える 1

2

configSection次のエントリを含めるのを忘れたようですlog4net

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

    <!-- other configurations, such as appSettings and whatnot -->

    <log4net>
        <!-- log4net configuration that you already have -->
    </log4net>
</configuration>

構成ノードを使用するには、log4netそのノードを解釈する方法をシステムに伝える必要があります。これはlog4net.Config.Log4NetConfigurationSectionHandlerクラスで処理されます。

于 2013-11-08T16:33:57.603 に答える