Log4net 在记录几秒钟后将日志路径更改为安装文件夹。这是为啥?
Posted
技术标签:
【中文标题】Log4net 在记录几秒钟后将日志路径更改为安装文件夹。这是为啥?【英文标题】:Log4net changing the log path to installation folder after logging for few seconds. Why is that?Log4net 在记录几秒钟后将日志路径更改为安装文件夹。这是为什么? 【发布时间】:2021-09-10 02:04:05 【问题描述】:我正在使用 log4net 来创建我的应用程序的日志。我的一位客户报告说,从几天开始,日志就没有写入日志文本文件。当我彻底解决问题时,我发现日志被记录到给定位置几秒钟,然后日志路径自动更改为安装文件夹,然后继续。
我的配置是这样的
<appender name="MessageRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<encoding value="utf-8" />
<maxSizeRollBackups value="2" />
<maximumFileSize value="5MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline%newline" />
</layout>
</appender>
预定义的日志路径设置为
C:\Users\testuser\AppData\Roaming
如果我将 log.txt 路径更改为下载文件夹。不会有问题。 我检查了。没有权限问题。就像我说的那样,日志恰好写了几秒钟。
应用程序中没有错误。这是 C# 独立应用程序。为什么会发生这种路径转换?
【问题讨论】:
【参考方案1】:检查 logger 的根标签是否指向你的 appender 名称,
<root>
<level value="ALL"/>
<appender-ref ref="MessageRollingFileAppender"/>
</root>
另外,请确保检查生成的文件的大小,如果写入了更多日志(发生在应用程序开始抛出错误并且您正在记录所有异常详细信息时) 那么这可能是要处理的问题可能是通过将日志 level
限制为仅需要的 error
消息。
作为第二次检查,检查您是否已将记录器 path
配置为更正 log4net
配置文件。
【讨论】:
以上是关于Log4net 在记录几秒钟后将日志路径更改为安装文件夹。这是为啥?的主要内容,如果未能解决你的问题,请参考以下文章
在将jquery更改为3.1.1之后,在IE 10中页面加载后几秒钟内页面没有响应