1

Spring boot/Spring クラウド ストリーム プロジェクトを使用しています

ConsoleAppender と LoggingEventCompositeJsonEncoder をエンコーダとしてログに Logback を使用します

エラーをログに記録しようとしているときに、メッセージまたは構造化された引数を含むメッセージが渡された場合に備えて、それは機能します

しかし、任意のタイプの例外/スロー可能なものを追加すると、何もログに記録されません

これはログに記録される例です:

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>

ここで何が欠けていますか?ドキュメントによると、ロガーが例外でエラーを無視または失敗する理由

4

0 に答える 0