在 Debian 上开启 Tomcat 调试日志,通常有两种层面需求:
1️⃣ Tomcat 自身的运行/调试日志
2️⃣ 远程调试(Debug)端口(用于 IDE 调试代码)
下面分别说明,你可以按需选择。
Tomcat 默认使用 JULI(java.util.logging),日志配置在:
/etc/tomcat9/logging.properties
(版本不同可能是 tomcat8 / tomcat10)
编辑配置:
sudo nano /etc/tomcat9/logging.properties
例如开启 Catalina 调试日志:
org.apache.catalina.level = FINE
org.apache.catalina.handlers = 1catalina.org.apache.juli.AsyncFileHandler
常见级别(由低到高):
| 级别 | 说明 |
|---|---|
| FINEST | 最详细 |
| FINER | 较详细 |
| FINE | 常用调试 |
| INFO | 默认 |
| WARNING | 警告 |
| SEVERE | 错误 |
sudo systemctl restart tomcat9
日志位置:
/var/log/tomcat9/catalina.out
如果你是想看 自己项目的调试日志,更推荐用 Log4j / Logback。
log4j2.xml:
<Configuration status="debug">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
⚠️ 这是“调试 Java 代码”,不是日志
编辑:
sudo nano /etc/default/tomcat9
添加或修改:
JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=*:8000,server=y,suspend=n"
sudo systemctl restart tomcat9
检查端口:
ss -lntp | grep 8000
服务器IP8000只开指定包:
org.apache.catalina.startup.level = FINE
org.apache.catalina.session.level = FINE
Debian Tomcat 默认由 systemd 管理,可查看:
journalctl -u tomcat9
| 目的 | 方法 |
|---|---|
| 看 Tomcat 内部调试日志 | /etc/tomcat9/logging.properties |
| 看应用调试日志 | Log4j / Logback |
| 用 IDE 调试代码 | 开启 JPDA 远程调试端口 |
如果你愿意,可以告诉我:
我可以给你更精确的配置。