我需要在Tomcat 7中配置日志格式的方向。我在日志记录配置方面相对较新,所以请原谅幽默这个问题,如果它看起来有点基础......
使用logging.properties中配置的Tomcat中的标准日志记录显示格式为:
的日志Jun 6, 2011 9:27:00 AM com.class.Control_WS callWebService
INFO: Response received from Control_WS:[Y]
我想自定义这些日志以压缩到一行,并将日期格式扩展为包含毫秒。
示例:
[2011-05-04T11:37:00.037|INFO|javax.enterprise.system.stream.out|Response recieved from Control_WS:[Y]]
我可以使用JUL做什么,还是需要切换到LOG4J?
可以提供任何可以提供的简单示例或方向。
答案 0 :(得分:9)
如果您使用的是Java 7(或更高版本:-)),则无需再为java.util.logging
(JUL)创建自定义格式化程序类。在Java 7中有一个新属性java.util.logging.SimpleFormatter.format
,它控制JUL SimpleFormatter
如何打印信息。因此,只要您使用的是SimpleFormatter(无论如何都是默认值),那么这将有效。
一些陷阱:
答案 1 :(得分:3)
看起来您可以通过创建扩展Formatter的自定义类然后在logging.properties中将其指定为处理程序的格式化程序来实现此目的。例如,如果您使用ConsoleHandler,则可以使用:
java.util.logging.ConsoleHandler.formatter = com.mycompany.MyFormatter
然后将类文件(自己或在jar中)放在tomcat的类路径中的某个位置。我会在那里创建一个jar,然后将该jar放入${catalina.home}/lib/ext