在 Debian 下,Tomcat 的日志格式主要涉及 两类日志:
AccessLogValve 控制java.util.logging(或 Log4j)控制配置文件位置(Debian 常见路径):
/etc/tomcat9/server.xml
# 或
/var/lib/tomcat9/conf/server.xml
默认访问日志配置示例:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
127.0.0.1 - - [10/Oct/2024:15:32:01 +0800] "GET /index.jsp HTTP/1.1" 200 1234
| 符号 | 含义 |
|---|---|
%h |
客户端 IP |
%l |
远程逻辑用户名(通常为 -) |
%u |
认证用户(未登录为 -) |
%t |
时间 |
%r |
请求行 |
%s |
HTTP 状态码 |
%b |
响应字节数 |
pattern="%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""
pattern="{"time":"%t","client":"%h","request":"%r","status":"%s","size":"%b"}"
Debian 下 Tomcat 日志文件通常位于:
/var/log/tomcat9/
主要文件:
catalina.outcatalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.logOct 10, 2024 3:32:01 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1234 ms
编辑 server.xml:
sudo nano /etc/tomcat9/server.xml
修改 AccessLogValve 的 pattern。
重启 Tomcat:
sudo systemctl restart tomcat9
若使用 Log4j2,可自定义 log4j2.xml 中的 PatternLayout:
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
| 日志类型 | 配置文件 | 格式可控 |
|---|---|---|
| 访问日志 | server.xml | ✅ |
| Catalina 日志 | logging.properties | ✅ |
| 应用日志 | log4j / slf4j | ✅ |
如果你需要 具体某一种格式(如 JSON、Nginx 风格) 或 Debian + Tomcat 版本号,可以告诉我。