如何使用Quarkus和Logback获取JSON日志记录?

时间:2020-02-27 13:55:12

标签: logback quarkus

我想与Quarkus(1.2.1.Final)一起使用logback进行JSON日志记录。

我已将以下 logback.xml 放入资源文件夹:

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <withJansi>false</withJansi>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder">
            <provider class="net.logstash.logback.composite.loggingevent.ArgumentsJsonProvider"/>
            <fieldNames>
                <message>logmessage</message>
            </fieldNames>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>

我正在使用此Maven依赖项:

<dependency>
  <groupId>net.logstash.logback</groupId>
  <artifactId>logstash-logback-encoder</artifactId>
  <version>4.11</version>
</dependency>

但是我没有JSON日志记录。

我通过(使用Kotlin)获得的记录器

import org.slf4j.LoggerFactory
private val LOGGER = LoggerFactory.getLogger(javaClass)

1 个答案:

答案 0 :(得分:1)

通过将相关性更改为

来修复
<dependency>
  <groupId>net.logstash.logback</groupId>
  <artifactId>logstash-logback-encoder</artifactId>
  <version>6.3</version>
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.2.3</version>
</dependency>

来自https://github.com/logstash/logstash-logback-encoder#including-it-in-your-project

的文档