在 Ubuntu 上配置 Tomcat 日志,通常涉及 日志级别、日志路径、滚动策略 等。下面按「常见场景」给你一套实用配置说明(以 Tomcat 9/10 为例,路径以 apt 安装或官方包解压为准)。
/var/log/tomcat9/
常见文件:
catalina.outcatalina.yyyy-mm-dd.loglocalhost.yyyy-mm-dd.loghost-manager.logmanager.log$TOMCAT_HOME/logs/
conf/logging.properties(最重要)Tomcat 使用 JUL(java.util.logging)
示例路径:
/etc/tomcat9/logging.properties
# 或
$TOMCAT_HOME/conf/logging.properties
.level = INFO
SEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST
.level = WARNING
org.apache.catalina.level = FINE
org.apache.jasper.level = FINE
logging.properties1catalina.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat9
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
如果自定义目录:
sudo mkdir -p /data/tomcat/logs
sudo chown -R tomcat:tomcat /data/tomcat/logs
catalina.out 不受 logging.properties 控制,由启动脚本决定。
ps aux | grep tomcat
/etc/logrotate.d/tomcat9
示例:
/var/log/tomcat9/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
测试:
sudo logrotate -d /etc/logrotate.d/tomcat9
conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
%h 客户端IP
%t 时间
%r 请求
%s 状态码
%b 字节数
%D 耗时(ms)
Tomcat 本身用 JUL,但 Web 应用建议用 Logback
logback.xml 到 WEB-INF/classeslogback-classic
slf4j-api
# 实时看日志
tail -f /var/log/tomcat9/catalina.out
# 看错误
grep ERROR /var/log/tomcat9/catalina.out
# 重启
sudo systemctl restart tomcat9
✅ 日志级别:INFO
✅ catalina.out:logrotate
✅ 访问日志:开启
✅ 业务日志:Logback
✅ 不长期保留 DEBUG
如果你愿意,可以告诉我:
我可以直接给你 可复制的配置文件。