【问题标题】:display date and time in Tomcat 9.0.X catalina.out log在 Tomcat 9.0.X catalina.out 日志中显示日期和时间
【发布时间】:2021-12-08 06:27:26
【问题描述】:

我有一个 Tomcat 9.0.54 安装,与 Apache Guacamole 一起使用。我的默认 catalina.out 日志文件格式仅包含时间而不包含日期。它看起来像这样:

04:37:05.132 [http-nio-8080-exec-12] INFO  o.a.g.tunnel.TunnelRequestService - User "abc" connected to connection "16".'

我在网上看到更新日志格式的正确方法是在 conf/logging.properties 中添加这一行:

org.apache.juli.OneLineFormatter.timeFormat = yyyy-MM-dd HH:mm:ss,SSSZ

...在 logging.properties 中现有的 3 行之后:

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8

我这样做了,重启后我的日志格式仍然没有日期。

我的 catalina.out 确实显示启动时正在读取正确的 logging.properties 文件。我没有发现任何错误。

我的 Tomcat 安装与默认设置相比几乎没有什么变化。例如,我的 catalina.properties 只添加:

guacamole.home=/local/guacamole

我错过了什么!?

【问题讨论】:

  • catalina.out 包含 Tomcat 服务器的标准输出,因此许多不同的日志框架都会写入它。 Guacamole 使用 LogBack(参见documentation),所以修改logging.properties 将无效。

标签: tomcat guacamole


【解决方案1】:

Piotr,谢谢你 - 你说得对 - 对于任何有兴趣的人,我在我的 guacamole home 目录中添加了一个 logback.xml 文件,其中包含类似于他们默认的内容,但添加了日期......

<configuration>

    <!-- Default appender -->
    <appender name="GUAC-DEFAULT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ss.SSSZ} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Log at INFO level -->
    <root level="info">
        <appender-ref ref="GUAC-DEFAULT" />
    </root>

</configuration>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多