0
我有一個使用scala logging的斯卡拉應用程序3.5.0,logback-classic 1.1.7。我可以毫無問題地登錄到一個純文本文件,但是(儘管我還沒有使用logstash),但我想使用logstash-logback-encoder將日誌文件格式更改爲JSON。我更新的文件Appender的定義現在看起來是這樣的:以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 [email protected]: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)。任何幫助將非常感謝!