奇妙な問題があります。全員が同じファイルを参照する複数のローリング ファイル アペンダーを作成しようとしていますが、一度に使用するのはこれらのアペンダーの 1 つだけです。
問題は、アペンダーを次のように宣言した場合です。
<appender name="APP1" type="log4net.Appender.RollingFileAppender">
<file value="C:\Log.txt" />
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - message%newline" />
</layout>
</appender>
<logger name="APP1" additivity="false">
<level value="DEBUG" />
<appender-ref ref="APP1" />
</logger>
<appender name="APP2" type="log4net.Appender.RollingFileAppender">
<file value="C:\Log.txt" />
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - message%newline" />
</layout>
</appender>
<logger name="APP2" additivity="false">
<level value="DEBUG" />
<appender-ref ref="APP2" />
</logger>
次に、「APP1」ロガーは問題なくファイルに書き込みますが、最初のロガーのみを取得する場合のように、「APP2」ロガーは書き込みません。明らかに、2 つのロガーを入れ替えると、「APP2」ではすべてが機能しますが、「APP1」では機能しません。
また、追加が失敗すると、デバッグウィンドウでこれを見ることができます:
log4net: Opening file for writing [C:\Log.txt] append [True]
log4net: Opening file for writing [C:\Log.txt] append [True]
これは、追加していることを意味していると思いますが、奇妙なことに、そうではありません。作業シナリオでは、これらのログは表示されません。どんなヒントでも大歓迎です!! 御時間ありがとうございます