繁体   English   中英

如何将日志时间戳转换为 log4j2 中的特定时区?

[英]How to convert log time stamps to specific timezone in log4j2?

我在一个应用程序中使用 log4j2 进行日志记录,并且该应用程序部署在从伦敦、东京、纽约等地运行的服务器中。

我稍后汇总日志以供分析。 为了使其统一,我想将日志的时间戳转换为单个时区,例如 GMT 或 EST。 我怎样才能在 log4j2 中做到这一点?

<Appenders>
    <RollingRandomAccessFile name="RandomAccessFileOutput" fileName="${sys:host.log}" 
        filePattern="${sys:host.log}.%d{yyyy-MM-dd-hh-mm-ss}.gz">
        <PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="10 MB"/>
            <CronTriggeringPolicy schedule="0 0 0 * * ?"/>
        </Policies>
    </RollingRandomAccessFile>
    <File name="File" fileName="console.log" append="false" >
        <PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
    </File>
    <Console name="STDOUT" target="SYSTEM_OUT">
        <PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
    </Console>

</Appenders>

根据Log4j 2 手册,您可以在模式中指定时区。 例如:

%d{yyyy-MM-dd HH:mm:ss}{GMT+0}

将在“GMT+0”时区格式化日期。 第二对(可选)中的字符串是标准时区 id,正如java.util.TimeZone.getTimeZone(String)所理解的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM