我有一个奇怪的问题。我正在尝试创建多个滚动文件附加程序来引用每个人的同一个文件,但一次只使用一个这些附加程序。
问题是,如果我这样声明我的附加程序:
<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”记录器,就像它只获取第一个记录器一样。显然,如果我让两个记录器切换位置,一切都适用于“APP2”,但不适用于“APP1”
此外,当附加失败时,我可以在调试窗口中看到:
log4net: Opening file for writing [C:\Log.txt] append [True]
log4net: Opening file for writing [C:\Log.txt] append [True]
我猜这意味着它正在附加,但奇怪的是它并没有这样做。在工作场景中,我看不到这些日志。非常感谢任何提示!谢谢你的时间