将编码器添加到 sentry appender 时出错

Getting error on adding encoder to sentry appender

尝试将 sentry(logback) 集成到 spring 应用程序中但收到此错误

java.lang.IllegalStateException: Logback configuration error detected: 
ERROR in ch.qos.logback.core.joran.spi.Interpreter@32:18 - no applicable action for [encoder], current ElementPath  is [[configuration][appender][encoder]]
ERROR in ch.qos.logback.core.joran.spi.Interpreter@33:22 - no applicable action for [pattern], current ElementPath  is [[configuration][appender][encoder][pattern]]

logback.xml 文件如下所示。我已经从那里的官方文档中获取了哨兵代码。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- <include resource="org/springframework/boot/logging/logback/defaults.xml"/><include resource="org/springframework/boot/logging/logback/console-appender.xml"/> -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] [%file:%line] - %msg %n</pattern>
        </encoder>
    </appender>
<appender name="Sentry" class="io.sentry.logback.SentryAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <!-- Optionally add an encoder -->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%level] from %logger in %thread : %msg %n</pattern>
        </encoder>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="CONSOLE" />
    </root>

    <root level="ERROR">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="Sentry"/>
    </root>
</configuration>

我做错了什么?

不支持为 SentryAppender 配置编码器。所有信息,如级别、记录器、线程等,都以结构化的方式与日志消息一起发送到 Sentry - 无需配置编码器。

当使用 Sentry Spring Boot Starter 时,SentryAppender 可以自动配置,因此您不需要将其添加到 logback.xml(参见 docs

如果我们遗漏了一个用例并且您认为编码器应该是可配置的,请raise an issue