gpt4 book ai didi

java - 日志记录停止滚动到新文件

转载 作者:行者123 更新时间:2023-12-02 06:11:30 26 4
gpt4 key购买 nike

当前的 spring 应用程序采用 slf4jlog4jslf4j-log4j12 作为日志记录实用程序。

问题是,

(1) 每次使用外部工具(写字板或ultraedit)打开日志文件时,文件都会停止滚动。这是非常烦人的,因为文件可能会增长到 10 GB 左右。

(2) MaxFileSize 设置为 10Mb,但每次日志文件滚动到 20Mb。

这是配置

log4j.rootLogger=DEBUG, ROL
log4j.appender.ROL=org.apache.log4j.RollingFileAppender
log4j.appender.ROL.Encoding=Unicode
log4j.appender.ROL.File=D:\\IamdWatchingYou.log
log4j.appender.ROL.MaxFileSize=10000KB
log4j.appender.ROL.MaxBackupIndex=10
log4j.appender.ROL.layout=org.apache.log4j.PatternLayout
log4j.appender.ROL.layout.ConversionPattern=%d -- %p -- %c -- %m%n

这个问题通常发生在所有主要应用服务器(Tomcat、websphere,有时还有 Jboss)中。

问题是,根本原因是什么(兼容性或配置)。如果选择其他日志记录实现(Logback 或 JDK 日志记录),是否可以解决问题?我只是希望停止创建巨大的日志文件。

最佳答案

这是翻转逻辑的正常行为,您可以在 log4j 类 RollingFileAppender 中看到它。

翻转逻辑尝试将当前日志文件重命名为包含时间戳的名称,如果由于文件被另一个应用程序打开等原因而未能成功,则翻转逻辑将默默失败并且不会执行任何更改(不记录警告或错误)。

这意味着日志记录将继续在同一文件中进行,直到下一次成功执行翻转逻辑。

关于java - 日志记录停止滚动到新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21837206/

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