log4Net - 类之间的记录器 - 释放文件

时间:2015-04-24 16:26:03

标签: log4net

我是log4net的新手。这是我的app.config。发生了什么事情是在经过一个switch语句,我的记录器" X"停止写入我的日志文件。我尝试了x.Logger.Repository.Shutdown();,所有这一切都是停止我的" Y"从甚至伐木。我怀疑该文件正在使用中,并且无法写入(下一个日志语句确实在另一个类中开始。再次,我是新的。基本上,它写了大约10行,转到另一个带有同名记录器的类,在该类中工作几行,然后当它返回原始类时,它会停止记录。我很少丢失.PS我有正确的部分名称,我正在调用我的日志:     private static readonly ILog eventLog = LogManager.GetLogger(" EventLog");

<appender type="log4net.Appender.FileAppender" name="event">
<file value="C:X.log" />
<layout type="log4net.Layout.PatternLayout">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<conversionpattern value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>

<appender type="log4net.Appender.FileAppender" name="cLog">
<file value="Y.log" />
<layout type="log4net.Layout.PatternLayout">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<conversionpattern value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>

<logger name="EventLog">
<level value="INFO" />
<maximumfilesize value="256KB" />
<param value="INFO" name="Threshold" />
<appender-ref ref="event" />
</logger>

<logger name="crLog">
<level value="INFO" />
<maximumfilesize value="256KB" />
<param value="INFO" name="Threshold" />
<appender-ref ref="cLog" />
</logger>

1 个答案:

答案 0 :(得分:0)

事实证明,当你调用x.Logger.Repository.Shutdown();它会杀死那些你可能想要写入的日志。 我将移动x.Logger.Repository.Shutdown(),或者找到一个不同的方法来释放我的文件,以便我的应用程序的最后一部分可以使用(电子邮件)文件。