読者です 読者をやめる 読者になる 読者になる

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>

とすることで、エラーを抑えることができました。

実行環境は

です。