Control Log4j message timezone
If your server is running in one timezone, but you want to have log messages be printed using different timezone, here is a simple solution:
- Add log4j extras to project classpath (maven GAV is log4j:apache-log4j-extras:1.0)
- In log4j.xml use EnhancedPatternLayout, specifying required timezone for logging purposes (see example below for EST TZ)
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <param name="Threshold" value="TRACE" /> <layout class="org.apache.log4j.EnhancedPatternLayout"> <param name="ConversionPattern" value="%d{ISO8601}{EST} %-5p [%t][%c:%M(%L)] %m%n" /> </layout> </appender>
In this example, log messages will be printed using EST regardless of your server timezone.
Leave a Reply