温馨提示×

linux tomcat日志格式是什么

小樊
41
2026-10-17 06:39:29
栏目: 智能运维

在 Linux 上运行的 Tomcat,其“日志格式”通常分两类来看:


一、Tomcat 自身日志(catalina / localhost 等)

Tomcat 默认使用 java.util.logging(JUL),日志文件一般在:

$CATALINA_HOME/logs/

常见文件:

  • catalina.out(最常用,标准输出和错误)
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • localhost_access_log.YYYY-MM-DD.txt

1️⃣ catalina.out 格式(非固定格式)

这是 控制台输出,没有统一格式,例如:

01-Jan-2024 10:12:33.123 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1234 ms

一般是:

日期 时间 级别 [线程] 类名 消息

二、Access Log(访问日志,最重要)

Tomcat 的 访问日志格式由 server.xml 配置,默认使用的是 类似 Apache 的 combined 格式。

默认格式(common / combined)

在 server.xml 中:

<Valve className="org.apache.catalina.valves.AccessLogValve"
       directory="logs"
       prefix="localhost_access_log"
       suffix=".txt"
       pattern="combined" />

combined 格式示例

127.0.0.1 - - [01/Jan/2024:10:12:33 +0800] "GET /index.jsp HTTP/1.1" 200 1234 "https://example.com/" "Mozilla/5.0"

字段含义

远程IP - 用户标识 用户 - [时间] "请求行" 状态码 字节数 "Referer" "User-Agent"

三、常用 pattern 参数说明

如果你看到 pattern="%h %l %u %t "%r" %s %b":

符号 含义
%h 客户端 IP
%l 远程逻辑用户名(通常为 -)
%u 认证用户
%t 时间
%r 请求行
%s HTTP 状态码
%b 响应字节数
%{Referer}i Referer
%{User-Agent}i 浏览器

四、如果你用的是 Log4j / Logback

很多生产环境会替换 Tomcat 默认日志为:

  • Log4j
  • Logback

日志格式就变成你自己配置的,例如:

%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger - %msg%n

总结一句话

Linux 上 Tomcat 日志 = catalina.out(启动/错误日志) + localhost_access_log(访问日志,默认 combined 格式)

如果你愿意,我可以:

  • 帮你 解析一条真实 Tomcat 日志
  • 帮你 改 access log 格式
  • 帮你 定位异常或 404 / 500 原因

0 踩