scala logging 3.5.0、logback-classic 1.1.7を使用する Scala アプリケーションがあります。問題なくプレーン テキスト ファイルにログを記録できますが (logstash はまだ使用していませんが)、logstash-logback-encoderを使用してログ ファイル形式を JSON に変更したいと考えていました。更新されたファイル アペンダーの定義は次のようになります。
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/solomon.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>solomon.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
</encoder>
ドキュメントから、これはサポートされているすべてのフィールドを含む JSON としてファイルに記録する必要があるようですが、アプリケーションの起動時に空のログ ファイルと次のエラー メッセージが表示されます。
09:05:58,101 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
09:05:58,102 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:70 - no applicable action for [encoder], current ElementPath is [[configuration][appender][encoder][encoder]]
09:05:58,102 |-ERROR in ch.qos.logback.classic.PatternLayout("null") - Empty or null pattern.
明らかな何かが欠けていると確信しています。私のセットアップは、私が見た他のセットアップと非常に似ているようです (JSON ファイルのログが必要なだけで、logstash をまだ使用していない)。どんな助けでも大歓迎です!