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

Tomcat 9.0.X catalina.out日志添加日期配置不生效如何解决

问题排查&解决方案

你遇到的配置不生效问题,是以下几个常见遗漏点导致的,按优先级排查即可:

1. 优先级最高:Guacamole应用自带日志配置覆盖Tomcat全局配置

Guacamole默认使用SLF4J+Logback作为日志实现,自身携带的日志配置优先级高于Tomcat全局的logging.properties,控制台输出的Guacamole业务日志不会走Tomcat的JULI格式配置。
处理方式:

  • 在你配置的guacamole.home=/local/guacamole目录下新建logback.xml文件,写入如下配置:
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="info">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>
  • 重启Tomcat后,Guacamole输出的日志就会携带日期。

2. 遗漏AsyncFileHandler的格式配置

Tomcat默认输出到catalina.out的日志包含两部分:ConsoleHandler的输出、AsyncFileHandler的catalina日志输出,你只配置了ConsoleHandler的格式,还需要补充AsyncFileHandler的格式配置。
处理方式:
打开conf/logging.properties,找到1catalina.org.apache.juli.AsyncFileHandler相关配置,在formatter配置行后新增:

1catalina.org.apache.juli.AsyncFileHandler.formatter.timeFormat = yyyy-MM-dd HH:mm:ss,SSSZ

3. 全局Formatter参数配置不生效

Tomcat 9部分小版本对全局org.apache.juli.OneLineFormatter.timeFormat的配置支持有问题,需要改为给指定Handler的Formatter单独配置参数。
处理方式:
把你之前新增的全局配置行删除,改为在java.util.logging.ConsoleHandler配置块后新增:

java.util.logging.ConsoleHandler.formatter.timeFormat = yyyy-MM-dd HH:mm:ss,SSSZ

内容的提问来源于stack exchange,提问作者Jason K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:36:02