log4j2のJSONLayoutを使うと出力日時をエポック秒で出力してくれる。
log.json
{
"instant": {
"epochSecond": 1563403242,
"nanoOfSecond": 895000000
}
}
人間ごときにエポック秒を直接読むことは難しいので普通に年月日が出力したい。
のでこうする。
log4j2.xml
<JsonLayout>
<!-- 略 -->
<KeyValuePair key="timestamp" value="$${date:yyyy-MM-dd'T'HH:mm:ss,SSSXXX}"/>
</JsonLayout>
結果
log.json
{
"timestamp": "2019-07-18T07:40:42,895+09:00"
}