温馨提示×

debian tomcat日志怎么轮

小樊
38
2026-09-07 09:06:33
栏目: 智能运维

在 Debian 上,Tomcat 日志轮转(log rotation)常见有 三种方式,你可以按实际环境选一种或组合使用。


一、使用系统自带 logrotate(最推荐)

Debian 默认带 logrotate,Tomcat 日志一般放在:

/var/log/tomcat9/
/var/log/tomcat10/

1. 新建/修改 logrotate 配置

以 Tomcat 9 为例:

sudo vim /etc/logrotate.d/tomcat

内容示例:

/var/log/tomcat9/*.log
/var/log/tomcat9/catalina.out {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    copytruncate
}

参数说明

  • daily:每天轮转
  • rotate 14:保留 14 份
  • compress:压缩旧日志
  • copytruncate:不重启 Tomcat 直接截断日志(常用)
  • notifempty:空文件不轮转

2. 测试是否生效

sudo logrotate -d /etc/logrotate.d/tomcat
sudo logrotate -f /etc/logrotate.d/tomcat

二、Tomcat 自带 logging.properties(JULI)

Tomcat 使用 java.util.logging:

/etc/tomcat9/logging.properties

示例(按大小轮转):

1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

# 轮转配置
1catalina.org.apache.juli.FileHandler.limit = 10485760
1catalina.org.apache.juli.FileHandler.count = 10

⚠ 注意:

  • 只适用于 JULI 日志
  • catalina.out 不会被这个机制轮转

三、用 cronolog(老方案,不推荐新项目)

sudo apt install cronolog

修改 bin/catalina.sh:

org.apache.catalina.startup.Bootstrap "$@" start \
  | cronolog /var/log/tomcat9/catalina.%Y-%m-%d.out &

缺点:

  • 改启动脚本
  • 升级 Tomcat 易丢失配置

四、常见问题

1. catalina.out 越来越大?

✅ 用 logrotate + copytruncate

2. 日志不轮转?

检查:

ls -l /etc/logrotate.d/
sudo systemctl status logrotate

3. 用 systemd 的 Tomcat?

仍可用 logrotate,不影响


推荐方案(总结)

✅ 最佳实践

logrotate + copytruncate

如果你告诉我:

  • Tomcat 版本(8/9/10)
  • 是否用 systemd
  • 日志路径

我可以给你一份精确可直接用的配置。

0 踩