【问题标题】:Logback structured logging format timestamp via logback.xml通过 logback.xml 的 Logback 结构化日志记录格式时间戳
【发布时间】:2019-10-02 08:50:40
【问题描述】:

我想格式化结构化日志中的时间戳。 目前我将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>

使用&lt;fieldNames&gt;我可以更改时间戳字段的名称。

如何通过logback.xml中的配置更改时间戳的模式?

【问题讨论】:

标签: java logback structured-logging


【解决方案1】:

如果发现我可以将&lt;timeZone&gt;&lt;timestampPattern&gt; 添加到编码器以格式化我的时间戳。

那么完整的配置就变成了:

<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>

【讨论】:

    猜你喜欢
    • 2017-10-25
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 2017-05-06
    相关资源
    最近更新 更多