在 Debian 上配置 Tomcat 日志,主要涉及 logging.properties、server.xml 以及可选的 logrotate。下面按常见场景说明。
Tomcat 常见日志有 4 类:
catalina.out
catalina.{date}.log
localhost.{date}.log
access log(访问日志)
Debian 常见路径(以 Tomcat 9 为例):
/etc/tomcat9/
/usr/share/tomcat9/
/var/log/tomcat9/
/var/lib/tomcat9/
日志配置主要文件:
/etc/tomcat9/logging.properties
编辑:
sudo nano /etc/tomcat9/logging.properties
常见级别(由低到高):
FINEST < DEBUG < INFO < WARN < ERROR < FATAL
示例(只显示 INFO 及以上):
.level = INFO
org.apache.catalina.level = INFO
org.apache.juli.level = INFO
Tomcat 使用 JULI(Java Utility Logging Implementation)
示例:
1catalina.org.apache.juli.AsyncFileHandler.limit = 10485760
1catalina.org.apache.juli.AsyncFileHandler.count = 10
1catalina.org.apache.juli.AsyncFileHandler.pattern = /var/log/tomcat9/catalina.%g.log
说明:
limit:单个日志大小(字节,10MB)count:保留文件数%g:轮转编号编辑 server.xml:
sudo nano /etc/tomcat9/server.xml
在 <Host> 中添加:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"
rotatable="true"
maxDays="30" />
✅ 常用参数:
pattern:日志格式(可改成 combined)maxDays:保留天数rotatable:是否按天轮转Debian 默认 catalina.out 不会自动切割,容易撑满磁盘。
创建配置:
sudo nano /etc/logrotate.d/tomcat9
内容示例:
/var/log/tomcat9/catalina.out {
daily
rotate 7
copytruncate
compress
missingok
notifempty
}
测试:
sudo logrotate -d /etc/logrotate.d/tomcat9
修改 systemd 服务:
sudo systemctl edit tomcat9
添加:
[Service]
StandardOutput=null
StandardError=journal
⚠️ 会丢失部分输出日志
sudo systemctl restart tomcat9
查看日志:
tail -f /var/log/tomcat9/catalina.out
sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
✅ 生产环境建议:
logging.properties 控制级别logrotate 管理 catalina.out如果你愿意,可以告诉我:
我可以给你一份 可直接使用的完整配置。