我正在使用log4net记录文件,但由于某些原因,一些日志消息丢失了,并且总是在相同的位置。首先是我的配置:
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
<appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\import.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
</log4net>虽然定义了aiAppender,但不使用它。
日志模式是,我最初突发日志大约88行,其中所有行都在那里。然后,丢失的日志周期开始并持续大约6秒。然后,日志记录继续进行,从那时起,所有内容都会被记录下来。
如果我删除突发日志记录并将其替换为几个日志条目,则不会丢失任何内容。
显然,RollingFileAppender可能会丢失消息。我怎么不知道。
我确信这是log4net的一个问题,因为我有一个日志包装器,我将日志消息拆分到log4net和应用程序洞察( aiAppender对我们来说做得不够好),而应用程序洞察确实接收到log4net不记录的消息。
是否可以配置RollingFileAppender以避免丢失消息?
编辑:日志包装器首先将日志记录到log4net,然后再记录到应用程序洞察,因此这不是阻止log4net日志记录的应用程序洞察日志记录的问题。
发布于 2018-03-03 21:30:24
只有在激活内部调试时才能对其进行调试。激活调试器并查看是否在某个时刻重新配置了例如log4net。
https://stackoverflow.com/questions/49070343
复制相似问题