Apache Log4j使用特定时区进行日志记录

Sun*_*pta 11 java timezone log4j

我希望日志应包含特定时区的日期条目.有没有办法强迫时区log4j.properties

现在我正在使用JDK 1.5,因为您已经知道JDK 1.5中存在时区错误,该错误在JDK 1.5中被删除.在JDK 1.5的情况下,它默认显示"GMT"时区.我想在Log4j中配置我的特定时区.

Jul*_*eau 17

这将允许您在日志的每一行中查看时区信息:

%d{yyyy-MM-dd/HH:mm:ss.SSS/zzz}
Run Code Online (Sandbox Code Playgroud)

诀窍是在模式中包含'zzz',因为根据Javadoc for java.text.SimpleDateFormat(http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html) ,这是时区的代码.Log4J使用与SimpleDateFormat相同的规则.

Log4J Javadoc中有更多细节:

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html

查找表中"转换字符"为字母"d"的行.

  • 是的,但是"相当差"意味着它可以每秒执行10,000种格式.坦率地说,如果这代表了您的应用程序的主要性能瓶颈,那么您应该获得一杯香槟. (9认同)

Rai*_*han 0

使用org.apache.log4j.helpers.DateLayout作为布局类及其属性timeZone