我需要在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.
您可以提供任何帮助都很棒,并提前感谢您。
答案 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),但这需要更多的精力,对于我的简单用例来说,这是一个过大的杀伤力。