如何解决Log4net 在同一天在 2 个日志文件之间跳转
我的 ASP.Net Web 项目有以下要求:
- log4net 应该用于为每一天创建一个日志文件
- 在我的 Web 应用程序根目录中应该有一个文件夹“logs”
- 在“logs”文件夹中,每天应该有一个文件夹“YYYY-MM-DD”
- 在每天的文件夹中都有一个名为“logfile.txt”的日志文件
我在 web.config 中有以下 log4net 配置:
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<threshold value="INFO" />
<file value="logs/" />
<datePattern type="log4net.Util.PatternString" value="yyyy-MM-dd\\'logfile.txt'" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level (%logger:%line) - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
这个配置在很长一段时间内都运行良好,但是从 3 个月开始,我们观察到了一个奇怪的行为: 每天 log4net 在 2 个文件之间跳转,有时在第一个文件中记录行,然后在另一个文件中记录几秒/分钟,然后返回到第一个文件,依此类推。 例如:
../logs/2021-07-03/logfile.txt <-- this day was okay,all logs are in 1 file
../logs/2021-07-04/logfile.txt <-- this file starts at 00:00:00
../logs/2021-07-04/logfile.txt2021-07-04/logfile.txt <-- this was created additionally on the same day,and then log4net jumps between these 2 files
您会看到 log4net 在名为“logfile.txt2021-07-04”之间创建了一个文件夹。这是现在每天的模式。但它只创建 2 个文件,而不是每天创建更多。如果我们的网络应用程序上有大量流量,有时日志会在 1 秒内在这两个文件之间跳转。
我们使用了一个非常老的稳定的 log4net 版本 1.2.11,但它之前可以正常工作,没有任何问题。 log4net 配置没有任何变化,唯一的变化可能是访问 Web 应用程序的用户可能比以前更多。
这可能是什么原因?有什么解决办法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。