在 Ubuntu 上修改 Tomcat 日志格式,通常是指修改 访问日志(access log) 的格式,少量情况也会涉及 catalina.out / 日志框架格式。下面分情况说明。
一般路径:
/etc/tomcat9/server.xml
# 或
/opt/tomcat/conf/server.xml
在 server.xml 中找到类似配置:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="common" />
pattern常用格式:
%h %l %u %t "%r" %s %b
%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"
pattern="%h %l %u %t "%r" %s %b %D"
%D:请求处理时间(毫秒)
sudo systemctl restart tomcat9
# 或
sudo systemctl restart tomcat
Tomcat 默认使用 JULI(Java Util Logging)
/etc/tomcat9/logging.properties
示例:
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$s %2$s %5$s%6$s%n
重启生效。
若你用 Log4j2:
log4j2.xmlPatternLayout示例:
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
| 符号 | 含义 |
|---|---|
%h |
客户端 IP |
%u |
用户 |
%t |
时间 |
%r |
请求行 |
%s |
HTTP 状态码 |
%b |
响应字节 |
%D |
处理时间(ms) |
%{User-Agent}i |
UA |
tail -f /var/log/tomcat9/localhost_access_log.*.txt
如果你能告诉我:
我可以直接给你一份 可用的 server.xml 配置。