0

我正在使用LoggingEventCompositeJsonEncoderlogback.xml示例中配置的 a:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
      <providers>
        <message/>
        <loggerName>
          <fieldName>loggerName</fieldName>
        </loggerName>
        <nestedField>
          <fieldName>thrown</fieldName>
          <providers>
            <throwableClassName>
              <fieldName>name</fieldName>
            </throwableClassName>
            <stackTrace>
              <fieldName>extendedStackTrace</fieldName>
              <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
              </throwableConverter>
            </stackTrace>
          </providers>
        </nestedField>
      </providers>
    </encoder>
  </appender>

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

它正在生成这样的日志:

{
  "message": "Starting app",
  "loggerName": "my.api.App",
  "thrown": {}
}

我只想要thrownThrowable 存在时的字段输出。有没有办法使用提供的类来完成这个logstash-logback-encoder?如果没有,是否有关于需要覆盖自定义类/方法的建议?

4

0 回答 0