logback の出力を色付けする

logback は ANSI エスケープシーケンスを使った色付き出力をサポートしています。 http://logback.qos.ch/manual/layouts.html#coloring

ファイルに出力するときはジャマだけど、開発中にコンソールを色付けするのは楽しいんじゃないだろうか。

logback.groovy を用意します。

import static ch.qos.logback.classic.Level.*
import ch.qos.logback.core.ConsoleAppender
import ch.qos.logback.classic.encoder.PatternLayoutEncoder

appender("STDOUT", ConsoleAppender) {
  withJansi = true
  encoder(PatternLayoutEncoder) {
      pattern = "%white(%date{HH:mm:ss.SSS}) %highlight(%-5level) %cyan(%logger{15}) %highlight(%message) %n"
  }
}
root(DEBUG, [ "STDOUT" ])

mvn jetty:run してみると…

console screen shot

結構いいんじゃない?