Pax-logging:指定用于日志的时区

时间:2013-01-23 12:41:35

标签: java logging log4j slf4j apache-karaf

在我的org.ops4j.pax.logging.cfg文件中,我设置了:

log4j.appender.mylogger.layout=org.apache.log4j.PatternLayout
log4j.appender.mylogger.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss z} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n

输出PHT(菲律宾时间)我系统的时区。我希望它输出UTC。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

试试EnhancedPatternLayout

http://logging.apache.org/log4j/companions/extras下载临时演员随播广告   并将其添加到您的类路径。

以下是来自http://comments.gmane.org/gmane.comp.apache.logging/1143

的未经测试的示例
     log4j.appender.stdout.layout=org.apache.log4j.EnhancedPatternLayout
     log4j.appender.stdout.layout.ConversionPattern=%d{}{America/New_York} %p [%c] - %m%n

答案 1 :(得分:1)

额外的Log4j无法开箱即用于pax-logging。您需要通过将片段包附加到pax-loggin-service包来将这些appender添加到pax-loggin-service包中。使用这个额外的片段,您可以将这个额外的appender添加到pax-logging中。可以找到有关如何使用karaf将片段附加到pax-logging的示例here

答案 2 :(得分:1)

我使用log4j-1.2.17并将日志转发给Splunk。我必须做的是:

layout class =" org.apache.log4j。 EnhancedPatternLayout "     param name =" ConversionPattern"值=" %d {ISO8601} {UTC} Z %-5p%t:%C {1}:%L [%M]%m%n"

增强的图案布局允许时区,我不得不添加' Z'之后让Splunk将其识别为UTC。