1. 日志文件位置确认
Debian系统中,Tomcat日志的默认存储路径通常为/var/log/tomcat(如/var/log/tomcat/catalina.out)或/opt/tomcat/logs(取决于Tomcat的安装方式,如通过apt安装可能位于/var/lib/tomcat*/logs)。确认路径是管理日志的基础。
2. 配置Tomcat原生日志级别(调整日志输出量)
Tomcat默认使用java.util.logging(JULI)作为日志框架,通过修改conf/logging.properties文件可控制日志级别和输出行为。例如,将全局日志级别从INFO调整为WARNING,可减少不必要的调试日志,降低磁盘占用:
.level = WARNING
# 针对特定组件(如Catalina容器)调整级别
org.apache.catalina.core.ContainerBase.level = WARNING
修改后需重启Tomcat使配置生效。
3. 使用logrotate实现自动化日志轮转
logrotate是Linux系统自带的日志管理工具,可自动完成日志轮转、压缩、删除等操作。创建/etc/logrotate.d/tomcat配置文件,添加以下内容(以catalina.out为例):
/var/log/tomcat/catalina.out {
daily # 每天轮转一次
rotate 7 # 保留最近7个日志文件
compress # 压缩旧日志(如catalina.out.1.gz)
missingok # 若日志文件不存在,不报错
notifempty # 若日志为空,不轮转
copytruncate # 复制原日志后清空,避免Tomcat写入锁定
create 640 tomcat adm # 新日志文件权限及属主(根据实际用户调整,如tomcat/adm或root/tomcat)
}
测试配置是否正确:sudo logrotate -f /etc/logrotate.d/tomcat(强制立即轮转);logrotate通常由cron.daily任务自动执行,无需额外设置。
4. 手动备份与清理日志(补充方案)
若不想依赖logrotate,可通过脚本手动备份和清理日志。例如,创建backup_tomcat_logs.sh脚本:
#!/bin/bash
LOG_PATH="/var/log/tomcat" # 日志路径
BACKUP_PATH="/home/user/backups" # 备份路径
DATE=$(date +%Y-%m-%d)
# 备份catalina.out
cp "$LOG_PATH/catalina.out" "$BACKUP_PATH/catalina.out.$DATE.log"
# 删除30天前的日志文件(如catalina.2025-09-*.log)
find "$LOG_PATH" -name "catalina.*.log" -mtime +30 -exec rm -rf {} \;
赋予执行权限:chmod +x backup_tomcat_logs.sh,并通过crontab -e设置定时任务(如每天凌晨执行):
0 0 * * * /path/to/backup_tomcat_logs.sh
5. 实时查看与过滤日志(快速排查问题)
使用Linux命令实时监控日志文件,快速定位问题:
tail -f /var/log/tomcat/catalina.outtail -f /var/log/tomcat/catalina.out | grep "ERROR"less /var/log/tomcat/catalina.out(按q退出)。6. 高级:使用日志分析工具(可视化与深度分析)
对于大规模或长期运行的Tomcat实例,可使用专业工具进行日志分析与可视化: