温馨提示×

Debian Tomcat日志格式是什么样的

小樊
46
2025-10-03 21:47:07
栏目: 智能运维

Debian Tomcat日志格式说明

一、默认日志格式(控制台/文件日志)

Debian系统上的Tomcat默认使用java.util.logging框架记录日志,主要日志文件位于$CATALINA_BASE/logs目录($CATALINA_BASE为Tomcat安装基目录)。默认日志格式为文本格式,包含以下字段:

  • 日期时间:格式为YYYY-MM-DD HH:MM:SS,sss(年-月-日 时:分:秒,毫秒),例如2023-04-01 12:34:56,789
  • 日志级别:如INFOWARNINGSEVERE等,标识日志的严重程度;
  • 线程名:执行日志记录的线程名称,通常为main(主线程)或其他线程名;
  • 类名:生成日志的Java类名,例如org.apache.catalina.startup.Bootstrap
  • 日志消息:具体的日志内容,例如Tomcat started(Tomcat启动完成)。

示例
2023-04-01 12:34:56,789 [main] INFO Tomcat started

二、访问日志格式(单独配置)

Tomcat的访问日志(记录HTTP请求信息)由AccessLogValve组件控制,默认配置位于$CATALINA_BASE/conf/server.xml文件中。默认使用common模式,格式为:

  • %h:远程主机IP地址;
  • %l:远程用户名(始终为-);
  • %u:已验证的远程用户(未验证则为-);
  • %t:访问时间(Common Log Format格式,如[10/Oct/2025:14:30:00 +0000]);
  • "%r":HTTP请求的第一行(包括方法、URL、协议,如GET /index.html HTTP/1.1);
  • %s:HTTP状态码(如200404);
  • %b:发送的字节数(不包含HTTP头,0则显示-)。

示例common模式):
192.168.1.100 - - [10/Oct/2025:14:30:00 +0000] "GET /index.html HTTP/1.1" 200 1024

若需更详细的访问日志,可将pattern改为combined模式,增加%{Referer}i(来源页面)、%{User-Agent}i(用户代理)等字段: 示例combined模式):
192.168.1.100 - - [10/Oct/2025:14:30:00 +0000] "GET /index.html HTTP/1.1" 200 1024 "http://example.com/ref" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"

三、自定义日志格式方法

若需调整默认日志格式,可通过修改$CATALINA_BASE/conf/logging.properties文件实现:

  1. 修改控制台日志格式:找到java.util.logging.ConsoleHandler.formatter配置项,将其值从java.util.logging.SimpleFormatter改为org.apache.juli.OneLineFormatter(支持单行输出),然后添加java.util.logging.SimpleFormatter.format配置项定义格式字符串;
  2. 自定义格式字符串:格式字符串使用占位符表示字段,常见占位符包括:
    • %1$tY-%1$tm-%1$td:年-月-日;
    • %1$tH:%1$tM:%1$tS:时:分:秒;
    • %4$s:日志级别;
    • %2$s:线程名;
    • %5$s:类名;
    • %3$s:日志消息;
    • %n:换行符。

示例(自定义控制台日志格式):

java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$s [%2$s: %5$s] %3$s%n 

效果
2023-04-01 12:34:56 INFO [main: org.apache.catalina.startup.Bootstrap] Tomcat started

注意事项

  • 修改配置文件后,需重启Tomcat服务使更改生效(命令:sudo systemctl restart tomcat);
  • 日志文件路径和格式可根据实际需求调整,例如将日志输出到指定目录、设置日志滚动策略(如按天分割);
  • 若需更强大的日志功能(如结构化日志、日志分析),可考虑集成Log4j或Logback等第三方日志框架。

0