如何在tomcat catalina.out日志文件中显示日期和时间

时间:2017-12-07 15:31:16

标签: tomcat7

我需要在tomcat7安装的catalina.out日志文件中显示实际日志信息的日期和时间。从Web上我找到了将此行添加到logging.properties文件的解决方案,但它不起作用。我添加了以下内容:

1catalina.java.util.logging.SimpleFormatter.format=[%1$td.%1$tm.%1$tY %1$tH:%1$tM:%1$tS,%1$tL

现在它只是一堆没有时间戳的数据。我只想在日志输出中的 INFO ERROR 之前的标准yyyymmdd hhmmss

我的logging.properties文件中现在的内容是这个(我显然添加了最后一行):

java.util.logging.ConsoleHandler.level = FINE

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

1catalina.java.util.logging.SimpleFormatter.format=[%1$td.%1$tm.%1$tY %1$tH:%1$tM:%1$tS,%1$tL

the version Im using is apache-tomcat-7.0.82.

您可以提供任何帮助都很棒,并提前感谢您。

1 个答案:

答案 0 :(得分:1)

这是在Tomcat 7.0.99上对我有用的东西:

...
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8

# My special format:
java.util.logging.SimpleFormatter.format=%1$tF %1$tT [%4$-7s] %5$s %n
...

前三行是默认设置。最后一行定义了SimpleFormatter。日志文件如下所示:

2020-02-03 11:55:26 [INFORMATION] Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0]. 
2020-02-03 11:55:26 [INFORMATION] APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 
2020-02-03 11:55:26 [INFORMATION] OpenSSL successfully initialized [OpenSSL 1.1.1c  28 May 2019] 
2020-02-03 11:55:26 [INFORMATION] Initialisiere ProtocolHandler["http-apr-8080"] 
2020-02-03 11:55:26 [INFORMATION] Initialisiere ProtocolHandler["ajp-apr-8009"] 
2020-02-03 11:55:26 [INFORMATION] Initialization processed in 368 ms 
2020-02-03 11:55:26 [INFORMATION] Starting service [Catalina] 
2020-02-03 11:55:26 [INFORMATION] Starting Servlet Engine: Apache Tomcat/7.0.99 

有关SimpleFormatter的更多信息,请参见:Oracle Java Documentation - SimpleFormatter;有关Formatter的信息,请参见:Oracle Java Documentation - Formatter

您甚至可以将Tomcat日志记录更改为log4j(请参阅:Tomcat - Using_Log4j),但这需要更多的精力,对于我的简单用例来说,这是一个过大的杀伤力。