添加可抛出对象时,使用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 (将#修改为@)