java - 通过 logback.xml 进行 Logback 结构化日志记录格式时间戳

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

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

关于java - 通过 logback.xml 进行 Logback 结构化日志记录格式时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58198219/

相关文章:

Android Studio 中的 java.lang.illegalArgumentException

java - Logback MDC put() 可变对象

Javassist insertbefore 行号不正确

java logback 自定义记录器名称

c# - 使用 Azure Log Analytics 在 Azure Function v3 中进行结构化日志记录

java - 需要将运行在 Linux 上的现有大型 Java Swing 应用程序迁移到 IOS(移动平台)

java - Android 版本 > 2.3 上的 FileNotFoundException

java - JAXB - 如果类是同一类的字段,我们是否应该使用 @XmlSeeAlso 绑定(bind)类

c# - 如何将参数添加到 .Net Core 结构化日志记录而不在消息中引用它?