日志4J;如何使用 ConversionPattern 确保时间戳始终在 GMT 中?

Posted

技术标签:

【中文标题】日志4J;如何使用 ConversionPattern 确保时间戳始终在 GMT 中?【英文标题】:Log4J; how to ensure timestamps are always in GMT using ConversionPattern? 【发布时间】:2011-04-07 18:26:31 【问题描述】:

如何确保我的 log4j 使用的所有时间戳都是 GMT?

我尝试了以下方法,但它在时间戳中打印“GMT”

log4j.appender.ConversionPattern=%dHH\:mm\:ss,SSSGMT %-4r %-5p [%t] %3x - %m%n

【问题讨论】:

【参考方案1】:

我有 log4j-1.2.16 并且以下行正常工作:

log4j.appender.A1.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.A1.layout.ConversionPattern=%dISO8601GMT [%-5p] [%t] [%F:%L] - %m%n

如果它不起作用,那么您必须下载附加内容(companios 部分)。 这个包包含增强模式布局: Download apache-log4j-extras

【讨论】:

即使使用 log4j-1.2.17,这对我来说也不太适用。相反,我必须为 ISO8601 提供明确的格式字符串:%dyyyy-MM-dd'T'HH:mm:ssXGMT @asieira:由于 log4j 1.2.16,来自 log4j-extras 的 EnhancedPatternLayout 包含在标准 log4j 1 发行版中(changelog,bug),并且时区规范按给定的方式工作在这个答案中。如果它在你的情况下不起作用,我只能假设一个拙劣的分布或配置。

以上是关于日志4J;如何使用 ConversionPattern 确保时间戳始终在 GMT 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何配置SLF4J不同的日志实现

使用log4j如何打印输出到日志文件

如何配置SLF4J不同的日志实现

如何使用 log4j2.xml 配置休眠日志记录?

如何使用log4j设置ebean日志级别

日志4J;如何使用 ConversionPattern 确保时间戳始终在 GMT 中?