web-dev-qa-db-ja.com

ANSIカラー機能のスプリングブートでログバックを構成する方法

Windowsで実行しているSpring-Bootアプリケーションがあります。 Windowsでカラー端末出力を有効にするために、プロジェクトにjansi(v1.8)依存関係を追加しました。

Spring-bootで提​​供されるlogback構成を含めました。つまり、logback.xmlに次の行を追加しました。

<include resource="org/springframework/boot/logging/logback/base.xml" />

Spring-bootによって提供されるbase.xmlに従ってステートメントが色付けされるように、logback.xmlで何を構成するかが明確ではありません。すみません、本当にばかげた質問なら、私はlogbackの初心者です。

よろしくお願いします!

16
Hussain Pirosha

Spring bootはこれに対するサポートを追加しました:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-logging-color-coded-output

設定するだけ

spring.output.ansi.enabled=always
17
acsadam0404

これは、Logbackドキュメントの coloring セクションで説明されています:

上記で説明したように括弧でグループ化すると、サブパターンのカラーリングが可能になります。バージョン1.0.5以降、PatternLayoutは「%black」、「%red」、「%green」、「%yellow」、「%blue」、「%Magenta」、「%cyan」、「%white」、「」を認識します%gray "、"%boldRed "、"%boldGreen "、"%boldYellow "、"%boldBlue "、"%boldMagenta "、"%boldCyan "、"%boldWhite "、"%highlight "を変換ワードとして使用します。これらの変換ワードは、サブパターンを含めることを目的としています。着色ワードで囲まれたサブパターンは、指定された色で出力されます。

変換ワードの使用方法を示すサンプル構成ファイルもあります。

<configuration debug="true">
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- On Windows machines setting withJansi to true enables ANSI
         color code interpretation by the Jansi library. This requires
         org.fusesource.jansi:jansi:1.8 on the class path.  Note that
         Unix-based operating systems such as Linux and Mac OS X
         support ANSI color codes by default. -->
    <withJansi>true</withJansi>
    <encoder>
      <pattern>[%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
    </encoder>
  </appender>
  <root level="DEBUG">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>
18
Andy Wilkinson