我有一個奇怪的問題。我試圖創建多個滾動文件appenders引用每個人相同的文件,但一次只使用其中一個appender。Log4Net,一次不能使用多個RollingFileAppenders
的事情是,如果我聲明我的appender是這樣的:
<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」記錄器一樣,如果它是唯一獲得第一個記錄器。顯然,如果我讓這兩個記錄器開關的地方,一切工作爲「APP 2」,而不是「APP1」
此外,當追加失敗,我可以在調試窗口中看到這一點:
log4net: Opening file for writing [C:\Log.txt] append [True]
log4net: Opening file for writing [C:\Log.txt] append [True]
我想,這意味着它正在追加,但奇怪的是它並沒有這樣做。在工作場景中,我看不到那些日誌。 任何提示是非常感謝! 感謝您的時間
我沒有在同一時間使用多個記錄器,而且我需要記錄器名稱來知道使用哪一個。我嘗試拆分appenders和伐木工,但它也沒有工作... – user2541621