在 Ubuntu 上配置 Tomcat 日志,通常涉及 日志路径、日志级别、日志格式和滚动策略。下面按常见场景一步步说明(以 Tomcat 9/10 为例,Ubuntu 20.04/22.04 适用)。
Tomcat 默认日志目录:
/var/lib/tomcat9/logs/
# 或
/opt/tomcat/logs/
常见日志文件:
catalina.out:标准输出日志(最重要)catalina.YYYY-MM-DD.log:按天日志localhost.log:应用相关host-manager.log / manager.logTomcat 默认使用 JULI(Java Util Logging)
sudo nano /var/lib/tomcat9/conf/logging.properties
.level = INFO
org.apache.catalina.level = INFO
org.apache.catalina.startup.level = WARNING
日志级别(由低到高):
FINEST < FINER < FINE < INFO < WARNING < SEVERE
1catalina.org.apache.juli.FileHandler.directory = /var/log/tomcat9
1catalina.org.apache.juli.FileHandler.prefix = catalina.
catalina.out 默认不会自动切割,容易变大。
Ubuntu 自带 logrotate:
sudo nano /etc/logrotate.d/tomcat9
示例配置:
/var/lib/tomcat9/logs/catalina.out {
daily
missingok
rotate 14
compress
notifempty
copytruncate
}
测试:
sudo logrotate -d /etc/logrotate.d/tomcat9
编辑:
sudo nano /var/lib/tomcat9/bin/catalina.sh
可设置:
CATALINA_OUT=/var/log/tomcat9/catalina.out
如果你希望用 Log4j2 替代 JULI:
logging.propertieslog4j2.xmllog4j-api.jarlog4j-core.jarlog4j-appserver.jar示例 log4j2.xml:
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1} - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
sudo chown -R tomcat:tomcat /var/log/tomcat9
journalctl -u tomcat9
如果你能告诉我:
我可以给你更精确的配置。