Logback-0.9.19 以降の設定記法がちょっと変わっていた
Logbackのライブラリを最新版にUpdateすると、アプリケーションの起動時にエラーが発生するようになりました。
ERROR in ch.qos.logback.core.joran.spi.Interpreter@11:13 - no applicable action for [encoding], current pattern is [[configuration][appender][encoding]]
以下、直したのでメモ。
調べてみると、Logback-0.9.19から、xmlの設定記法がちょっと変わっていました。
いままでのlayoutタグなどはencoderタグとして結果的に簡略化、そしてencodingタグはcharsetタグに変更になった模様。
というわけで、以前書いたlogback.xml を編集しなおし、
コンソールの出力には、
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <Target>System.out</Target> <encoder> <Pattern>[%-5level][%d{yyyy-MM-dd HH:mm:ss.SSS}] %class - %msg%n</Pattern> </encoder> </appender>
外部ファイルに出力したいときは、
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>logs/logFile.%d{yyyy-MM}.log</FileNamePattern> <MaxHistory>7</MaxHistory> </rollingPolicy> <encoder> <charset>UTF-8</charset> <Pattern>[%-5level][%d{yyyy-MM-dd HH:mm:ss.SSS}] %class - %msg%n</Pattern> </encoder> </appender>
とすることで、エラーを抑えることができました。
実行環境は
- logback-0.9.20
- slf4j-1.5.11
です。