在 Tomcat 9.0.X catalina.out 日志中显示日期和时间
Posted
技术标签:
【中文标题】在 Tomcat 9.0.X catalina.out 日志中显示日期和时间【英文标题】:display date and time in Tomcat 9.0.X catalina.out log 【发布时间】: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
将无效。
【参考方案1】:
Piotr,谢谢你 - 你说得对 - 对于任何有兴趣的人,我在我的 guacamole home 目录中添加了一个 logback.xml 文件,其中包含类似于他们默认的内容,但添加了日期......
<configuration>
<!-- Default appender -->
<appender name="GUAC-DEFAULT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%dateyyyy-MM-dd HH:mm:ss.SSSZ [%thread] %-5level %logger36 - %msg%n</pattern>
</encoder>
</appender>
<!-- Log at INFO level -->
<root level="info">
<appender-ref ref="GUAC-DEFAULT" />
</root>
</configuration>
【讨论】:
以上是关于在 Tomcat 9.0.X catalina.out 日志中显示日期和时间的主要内容,如果未能解决你的问题,请参考以下文章