阅读量:3
CentOS中Java日志轮转主要有以下两种策略,具体配置方式如下:
一、使用日志框架(推荐)
1. Log4j/Log4j2
- 按大小轮转:在
log4j.properties或log4j2.xml中配置MaxFileSize(如10MB)和MaxBackupIndex(保留份数),达到指定大小后轮转并保留指定数量的旧日志。 - 按时间轮转:通过
TimeBasedTriggeringPolicy或DatePattern(如%d{yyyy-MM-dd})实现按天/小时轮转,配合maxHistory设置保留天数。
2. Logback
在logback.xml中通过TimeBasedRollingPolicy或SizeAndTimeBasedRollingPolicy配置,例如:
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app-%d{yyyy-MM-dd}.logfileNamePattern>
<maxHistory>30maxHistory>
rollingPolicy>
或按大小轮转:
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/app-%d{yyyy-MM-dd}.%i.logfileNamePattern>
<maxFileSize>50MBmaxFileSize>
<maxHistory>30maxHistory>
rollingPolicy>
二、使用系统工具(logrotate)
- 安装logrotate:
sudo yum install logrotate - 创建配置文件(如
/etc/logrotate.d/java-app):
/var/log/java-app/*.log {
daily # 每天轮转
rotate 7 # 保留7天日志
compress # 压缩旧日志
missingok # 文件不存在时不报错
notifempty # 空文件不轮转
create 0640 root root
postrotate
# 可选:重启Java服务或发送信号通知重新打开日志
# /bin/kill -USR1 $(cat /var/run/java-app.pid)
endscript
}
- 测试配置:
sudo logrotate -d /etc/logrotate.d/java-app
关键参数说明
- 轮转频率:
daily(每天)、weekly(每周)、size(按文件大小)。 - 保留策略:
rotate N(保留N份)、maxHistory(保留N天)。 - 压缩与权限:
compress(压缩旧日志)、create(设置新日志权限)。
优先使用日志框架(如Logback/Log4j2)实现,灵活性更高;系统级工具(logrotate)适合统一管理多服务日志。
以上就是关于“CentOS Java日志轮转策略是什么”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm