Как преобразовать метки времени журнала в определенный часовой пояс в log4j2? - PullRequest
0 голосов
/ 26 сентября 2018

Я использую 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>

1 Ответ

0 голосов
/ 26 сентября 2018

В соответствии с руководством Log4j 2 , вы можете указать часовой пояс в шаблоне.Например:

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

будет форматировать дату в часовом поясе «GMT + 0».Строка во второй (необязательной) паре фигурных скобок является стандартным идентификатором часового пояса, что понимается как java.util.TimeZone.getTimeZone(String).

...