You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Tomcat使Catalina.out日志始终显示完整时间戳?

解决Tomcat Catalina.out日志时间戳不一致问题

问题原因

catalina.out的日志来源分为两部分:

  • Tomcat核心组件及应用通过日志框架(默认java.util.logging,或自定义Log4j)输出的日志
  • JVM的System.out/System.err输出(通常是应用直接调用System.out.println()等产生的)
    两部分日志的时间戳格式配置不一致,就会出现有时显示完整时间、有时仅显示小时的情况。

解决方案

情况1:使用Tomcat默认的java.util.logging框架

  1. 打开Tomcat配置目录下的conf/logging.properties文件
  2. 找到ConsoleHandler的相关配置,确保以下设置:
    • 指定Formatter为java.util.logging.SimpleFormatter(默认配置,若被修改则改回):
      java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
      
    • 添加或修改SimpleFormatter的输出格式,强制输出完整时间戳:
      # 格式说明:%1$td-%1$tb-%1$tY 对应日-月-年,%1$tT.%1$tL 对应时:分:秒.毫秒
      java.util.logging.SimpleFormatter.format=%1$td-%1$tb-%1$tY %1$tT.%1$tL %4$s %2$s %5$s%6$s%n
      
  3. 保存文件后重启Tomcat,此时所有通过ConsoleHandler输出到catalina.out的日志都会带有完整时间戳。

情况2:使用Log4j(或Log4j2)作为日志框架

  1. 打开Log4j的配置文件(如log4j.properties或log4j2.xml)
  2. 找到对应输出到catalina.out的ConsoleAppender配置:
    • 若用log4j.properties,确保Layout的Pattern包含完整时间格式:
      log4j.appender.console=org.apache.log4j.ConsoleAppender
      log4j.appender.console.layout=org.apache.log4j.PatternLayout
      # %d{dd-MMM-yyyy HH:mm:ss.SSS} 为完整时间戳格式
      log4j.appender.console.layout.ConversionPattern=%d{dd-MMM-yyyy HH:mm:ss.SSS} %p %c{1} - %m%n
      
    • 若用log4j2.xml,则在Appender的PatternLayout中配置时间格式:
      <Appenders>
          <Console name="Console" target="SYSTEM_OUT">
              <PatternLayout pattern="%d{dd-MMM-yyyy HH:mm:ss.SSS} %p %c{1} - %m%n"/>
          </Console>
      </Appenders>
      
  3. 同时,确保应用中直接使用System.out/System.err的输出被Log4j捕获,避免无完整时间戳的日志混入。

额外注意点

若修改配置后仍有部分日志仅显示小时,检查是否是应用直接调用System.out/System.err输出且未被日志框架接管。可在应用中替换为日志框架API(如logger.info())输出,或通过Tomcat启动脚本添加JVM参数强制重定向:
在catalina.sh(Linux)或catalina.bat(Windows)中添加:

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

确保所有输出都通过Tomcat的日志系统处理。

内容的提问来源于stack exchange,提问作者Filip Machaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 12:40:12