xtr*_*tra 0 java logback structured-logging
我想格式化结构化日志中的时间戳。目前我定义logback.xml如下:
<configuration>
<appender name="json" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<fieldNames>
<timestamp>timestamp</timestamp>
<logger>[ignore]</logger>
<version>[ignore]</version>
<levelValue>[ignore]</levelValue>
<stackTrace>exception</stackTrace>
</fieldNames>
</encoder>
</appender>
<root name="jsonLogger" level="DEBUG">
<appender-ref ref="json"/>
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
使用<fieldNames>我可以更改时间戳字段的名称。
如何通过配置更改时间戳的模式logback.xml?
如果发现我可以将<timeZone>和添加<timestampPattern>到编码器来格式化我的时间戳。
完整的配置就变成了:
<configuration>
<appender name="json" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<timeZone>UTC</timeZone>
<timestampPattern>yyyy-MM-dd'T'HH:mm:ss.SSS</timestampPattern>
<fieldNames>
<timestamp>timestamp</timestamp>
<logger>[ignore]</logger>
<version>[ignore]</version>
<levelValue>[ignore]</levelValue>
<stackTrace>exception</stackTrace>
</fieldNames>
</encoder>
</appender>
<root name="jsonLogger" level="DEBUG">
<appender-ref ref="json"/>
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)