在 Ubuntu 上开启(或调整)Tomcat 的日志,主要取决于你想开启哪种日志。Tomcat 常见日志有三类:
下面分别说明。
Tomcat 默认就会生成日志:
/opt/tomcat/logs/catalina.out
或(apt 安装时):
/var/log/tomcat9/catalina.out
只要 Tomcat 启动,就会自动写入。
systemctl status tomcat9
或
ps -ef | grep tomcat
访问日志用于记录每次 HTTP 请求。
sudo vim /opt/tomcat/conf/server.xml
或(apt 安装):
sudo vim /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" />
sudo systemctl restart tomcat9
tail -f /var/log/tomcat9/localhost_access_log.*.txt
/opt/tomcat/conf/logging.properties
或
/etc/tomcat9/logging.properties
SEVEREWARNINGINFO(默认)FINEFINERFINEST示例:开启调试日志
org.apache.catalina.level = FINE
sudo systemctl restart tomcat9
如果你部署的是 Java Web 应用:
logback.xml 示例:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>/var/log/tomcat9/app.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE"/>
</root>
</configuration>
/var/log/tomcat9/app.log
ls -l /var/log/tomcat9/
如果不存在,可能是:
查看 systemd 日志:
journalctl -u tomcat9 -f
| 日志类型 | 开启方式 |
|---|---|
| catalina.out | 默认开启 |
| 访问日志 | 修改 server.xml |
| 调试日志 | 修改 logging.properties |
| 应用日志 | Log4j / Logback 配置 |
如果你愿意,可以告诉我:
我可以给你精确到路径的配置示例。