gpt4 book ai didi

log4net - Log4net随机停止记录。

转载 作者:行者123 更新时间:2023-12-03 08:54:14 24 4
gpt4 key购买 nike

我目前正在使用log4net来构建ASP.Net-MVC应用程序进行日志记录,但是记录器似乎只是随机停止。它会愉快地记录一段时间,然后停止,然后在一段时间后再次启动。我什至不知道是什么使它恢复日志记录。我并不是在说丢失几条消息-有时它会消失很长时间,例如一个小时左右。

为什么会这样停止并开始?我应该如何正确配置它,以使其不会像它那样随机停止?

这是我的配置:

<log4net debug="true">
<appender name="RollingLogFileAppender"
type="log4net.Appender.RollingFileAppender">

<file value="..\Logs\\CurrentLog.txt" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />

<rollingStyle value="Date" />
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />

<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>

<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>

</appender>

<root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppender" />
</root>

最佳答案

如果出现问题并且无法写入其附加程序,Log4Net将fail silently。这实际上是一件好事,因为这意味着一些失败的日志记录不会破坏正常运行的系统,但是当某些内容未按预期进行日志记录时可能会很烦人。

最好的选择是打开log4net自己的internal logging进行一些诊断,并(希望)弄清楚其失败的原因。

因此,在您应用的配置文件中添加:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>

这将打开内部日志记录,该日志记录将发送到 System.Diagnostics.Trace,因此您可以添加:

<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随机停止记录。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2263301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com