1. ホーム
  2. .net

[解決済み】log4netの問題を追跡調査する方法

2022-04-15 21:21:57

質問

log4netをいつも使っているのですが、内部で何が起こっているのか、どうやって見分けるのかがわからないことがあります。例えば、私のプロジェクトには、コンソールアペンダーとデータベースアペンダーがあります。データベースとコードに少し変更を加えたところ、データベースアペンダーが動作しなくなりました。いずれは原因を突き止めるつもりですが、log4netの内部で何が起こっているのかがわかれば、とても助かるのですが。

log4netは、問題の原因を特定するために表示できるような出力を生成しますか?

解決方法は?

まず、この値をアプリケーションの設定ファイルに設定する必要があります。

<configuration>
   <appSettings>
      <add key="log4net.Internal.Debug" value="true"/>
   </appSettings>
</configuration>

次に、出力を保存するファイルを決定するために、同じ .config ファイルに次のコードを追加します。

<configuration>
...

<system.diagnostics>
    <trace autoflush="true">
        <listeners>
            <add 
                name="textWriterTraceListener" 
                type="System.Diagnostics.TextWriterTraceListener" 
                initializeData="C:\tmp\log4net.txt" />
        </listeners>
    </trace>
</system.diagnostics>

...
</configuration>

より詳細な説明は 'log4netの内部デバッグを有効にするには? の中にある log4netのFAQページ .