在 Debian 上运行 Tomcat 时,日志“丢失”通常不是真的被删除,而是位置、配置或轮转出了问题。下面按常见原因 → 排查方法 → 解决办法来说明。
Tomcat 常见日志有三类:
/var/log/tomcatX/catalina.outlogging.properties 控制catalina.out 没内容原因
检查
journalctl -u tomcat9
解决
journalctl -u tomcat9 --since "1 hour ago"
bin/catalina.sh 强制输出(不推荐,违背 Debian 规范)现象
原因
tomcat 用户运行/var/log/tomcatX 权限不对检查
ls -ld /var/log/tomcat9
ps aux | grep tomcat
修复
chown -R tomcat:tomcat /var/log/tomcat9
chmod 750 /var/log/tomcat9
Debian 默认有:
/etc/logrotate.d/tomcat9
问题
检查
ls -lh /var/log/tomcat9*
确认
cat /etc/logrotate.d/tomcat9
位置
/etc/tomcat9/logging.properties
或
/var/lib/tomcat9/conf/logging.properties
常见问题
OFF最小可用配置示例
handlers = 1catalina.org.apache.juli.FileHandler
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
Debian 可能同时存在:
/usr/share/tomcat9/var/lib/tomcat9/var/log/tomcat9正确顺序
CATALINA_BASE=/var/lib/tomcat9
CATALINA_HOME=/usr/share/tomcat9
LOG=/var/log/tomcat9
logs//opt/xxx/logs# 1. 看 journal
journalctl -u tomcat9
# 2. 看日志目录
ls -lh /var/log/tomcat9
# 3. 看进程用户
ps aux | grep java
# 4. 看配置
cat /etc/tomcat9/logging.properties
# 5. 看轮转
cat /etc/logrotate.d/tomcat9
你可以直接贴:
cat /etc/os-release)ls -lh /var/log/tomcat* 输出我可以告诉你日志到底去哪了。