通过 logback.xml 的 Logback 结构化日志记录格式时间戳
Logback structured logging format timestamp via logback.xml
我想在我的结构化日志中格式化时间戳。
目前我将 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>
使用<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>
我想在我的结构化日志中格式化时间戳。
目前我将 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>
使用<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>