I need some direction in configuring the log format in Tomcat 7. I am relatively new at logging configurations so please excuse humor this questions if it seems a bit basic...
Using the standard logging in Tomcat configured in logging.properties displays a log in the format of:
Jun 6, 2011 9:27:00 AM com.class.Control_WS callWebService
INFO: Response received from Control_WS:[Y]
I would like to customize these logs to compress on to one line as well as expanding the date format to include milliseconds.
Example:
[2011-05-04T11:37:00.037|INFO|javax.enterprise.system.stream.out|Response recieved from Control_WS:[Y]]
Is that something I can do using the JUL or do I need to switch to LOG4J?
Any simple examples that can be provided or direction would be much appreciated.
If you are using Java 7 (or later :-)) you no longer have to create a custom formatter class for
java.util.logging
(JUL). In Java 7 there's a new property,java.util.logging.SimpleFormatter.format
, which controls how JUL'sSimpleFormatter
prints the information. So as long as you are using SimpleFormatter (which is the default anyway) then this will work.Some pitfalls:
It looks like you would do this by creating a custom class that extends Formatter and then specify it in your logging.properties as the formatter for your handler. For example, if you are using a ConsoleHandler you would use this:
Then place the class file (either by itself, or inside a jar) somewhere in the classpath of tomcat. I would create a jar with it in there and then put that jar in
${catalina.home}/lib/ext