问题描述
我正在使用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 (将#修改为@)