You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Log4j仅在启动时滚动日志问题及配置实现

解决Log4j日志无法滚动的配置方案

最近我刚碰到日志没法自动滚动的问题,折腾了一圈后,通过调整log4j.properties的配置解决了,分享下我的配置内容给你参考:

# 禁用rootLogger,避免默认配置干扰自定义规则
log4j.rootLogger=

# JBaseService相关业务日志配置
log4j.category.com.company.basesvc.common.server.log.SafeLog=aud0, stdout, fileout
log4j.category.com.company.basesvc.javascript.core.JavascriptLog=aud0, stdout, fileout
# SNMP4J第三方组件日志配置
log4j.category.org.snmp4j.log.Log=error, stdout, fileout
# 可根据业务需求补充其他log4j.category.com....类别的配置

需要注意的是,上面配置里的fileout是支持滚动的Appender,如果你还没定义它,得加上对应的配置项,比如用RollingFileAppender的示例:

# 配置滚动文件输出Appender
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=./logs/business.log
log4j.appender.fileout.MaxFileSize=5MB  # 单个日志文件的最大容量
log4j.appender.fileout.MaxBackupIndex=20  # 保留的备份日志文件数量
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{1}:%L - %m%n

核心思路就是先禁用默认的rootLogger,避免它的配置干扰自定义日志规则,然后把需要监控的业务日志、第三方组件日志,都指定到支持滚动的Appender上,这样日志就会按照设定的规则自动分割滚动了。

内容的提问来源于stack exchange,提问作者Igor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:47:02