我在一個應用程序中使用 log4j2 進行日志記錄,并且該應用程序部署在從倫敦、東京、紐約等地運行的服務器中。我稍后匯總日志以供分析。為了使其統(tǒng)一,我想將日志的時間戳轉換為單個時區(qū),例如 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>
1 回答

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
根據Log4j 2 手冊,您可以在模式中指定時區(qū)。例如:
%d{yyyy-MM-dd HH:mm:ss}{GMT+0}
將在“GMT+0”時區(qū)格式化日期。第二對(可選)大括號中的字符串是標準時區(qū) ID,如java.util.TimeZone.getTimeZone(String)
.
添加回答
舉報
0/150
提交
取消