如何解决添加可抛出对象时,使用LoggingEventCompositeJsonEncoder进行的Logback不会记录事件
我正在使用Spring Boot / Spring云流项目
我使用Logback将ConsoleAppender和LoggingEventCompositeJsonEncoder作为编码器进行记录
当我尝试记录错误时,如果仅传递一条消息或带有结构化参数的消息,它将起作用
但是当我添加任何类型的异常/可抛出异常时,什么都不会记录
这是将记录的示例:
appLogger.error("some error message");
appLogger.error("some error message",StructuredArguments.keyvalue("param1","value1"));
这是将不会记录的示例:
appLogger.error("some error message",e); // e is some none null of Exception type object
这是我的logback xml配置:
<appender name="JSON_CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<contextName>
<fieldName>app</fieldName>
</contextName>
<timestamp>
<fieldName>ts</fieldName>
<timeZone>UTC</timeZone>
</timestamp>
<loggerName>
<fieldName>logger</fieldName>
</loggerName>
<logLevel>
<fieldName>level</fieldName>
</logLevel>
<callerData>
<classFieldName>class</classFieldName>
<methodFieldName>method</methodFieldName>
<lineFieldName>line</lineFieldName>
<fileFieldName>file</fileFieldName>
</callerData>
<threadName>
<fieldName>thread</fieldName>
</threadName>
<mdc />
<arguments>
<includeNonStructuredArguments>true</includeNonStructuredArguments>
</arguments>
<stackTrace>
<fieldName>stack</fieldName>
</stackTrace>
<message>
<fieldName>msg</fieldName>
</message>
</providers>
</encoder>
</appender>
<logger name="application1" additivity="false">
<appender-ref ref="JSON_CONSOLE" />
</logger>
我在这里想念什么? 根据文档,为什么记录器会忽略或因Exception错误而失败,如果Exception是最后一个参数,则应使用ExtendedThrowableProxyConverter
对其进行解析。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。