1. 序章

Spring Boot の魅力的な機能の1つは、そのスタートアップbanerです。 何年にもわたって、SpringBootはさまざまなタイプのバナーをサポートするように進化してきました。 たとえば、 Spring Boot1.3のバナーにテキストと背景色の両方のサポートが追加されました。

このクイックチュートリアルでは、Spring Bootのカラーバナーのサポートとその使用方法について説明します。

2. 背景色の変更

Spring Bootバナーに背景色を追加するには、 AnsiBackgroundクラスを使用して、banner.txtの行に目的のカラーコードをプレフィックスとして付ける必要があります。

たとえば、 Vancouver.txt ファイルを作成して、背景全体を赤にしましょう。

${AnsiBackground.RED}
  ___         _   _      _ 
 / __|  ___  | | (_)  __| |
 \__ \ / _ \ | | | | / _` |
 |___/ \___/ |_| |_| \__,_|
${AnsiBackground.DEFAULT}

実際、1つのバナーで必要な数の背景色を使用できます。

たとえば、各行を独自の背景色に設定できます。 各行の前に目的の色を付けるだけです。

${AnsiBackground.RED}    ____             _             __
${AnsiBackground.BLUE}   / __ \  ____ _   (_)   ____    / /_   ____  _      __
${AnsiBackground.YELLOW}  / /_/ / / __ `/  / /   / __ \  / __ \ / __ \| | /| / /
${AnsiBackground.GREEN} / _, _/ / /_/ /  / /   / / / / / /_/ // /_/ /| |/ |/ /
${AnsiBackground.MAGENTA}/_/ |_|  \__,_/  /_/   /_/ /_/ /_.___/ \____/ |__/|__/
${AnsiBackground.DEFAULT}

すべてのアプリケーションロギングは、vendor.txtで指定された最後の背景色を使用することを覚えておくことが重要です。 したがって、常にデフォルトの色でbanner.txtファイルを終了することをお勧めします。

3. テキストの色を変更する

テキストの色を変更するには、AnsiColorクラスを使用できます。 AnsiBackground クラスと同様に、事前定義された色定数があり、そこから選択できます。

文字の各グループの前に目的の色を付けるだけです。

${AnsiColor.RED}.------.${AnsiColor.BLACK}.------.
${AnsiColor.RED}|A.--. |${AnsiColor.BLACK}|K.--. |
${AnsiColor.RED}| (\/) |${AnsiColor.BLACK}| (\/) |
${AnsiColor.RED}| :\/: |${AnsiColor.BLACK}| :\/: |
${AnsiColor.RED}| '--'A|${AnsiColor.BLACK}| '--'K|
${AnsiColor.RED}`------'${AnsiColor.BLACK}`------'
${AnsiColor.DEFAULT}

背景色と同様に、バナーの最後の行が常に色をデフォルトにリセットすることが重要です。

4. ANSI8ビットカラー

Spring Boot 2.2の新機能の1つは、ANSI8ビットカラーのサポートです。 いくつかの事前定義された色に制限される代わりに、256色の全範囲を使用してテキストと背景色の両方を指定できます

新しい色を利用するために、AnsiColorプロパティとAnsiBackgroundプロパティの両方が、色名の代わりに数値を受け入れるようになりました。

${AnsiColor.1}${AnsiBackground.233}  ______  __________ .___ ___________
${AnsiBackground.235} /  __  \ \______   \|   |\__    ___/
${AnsiBackground.237} >      <  |    |  _/|   |  |    |
${AnsiBackground.239}/   --   \ |    |   \|   |  |    |
${AnsiBackground.241}\______  / |______  /|___|  |____|
${AnsiBackground.243}       \/         \/
${AnsiBackground.DEFAULT}${AnsiColor.DEFAULT}

テキストと背景の両方のプロパティを自由に組み合わせることができることに注意してください。 同じバナーに新しい8ビットカラーコードと古いカラー定数を混在させることもできます。

5. 結論

この記事では、Spring Bootバナーのテキストと背景色の両方を変更する方法を見てきました。

また、SpringBootの新しいバージョンがANSI8ビットカラーコードをサポートする方法も確認しました。