将编码器添加到 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。
尝试将 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。