素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2018年10月2日
最終更新日:

【遊び心満載】SpringBootの起動時の出力を任意の画像やアイコンに差し替える機能が面白い【謎の技術】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥29,280 (2024/03/15 19:06:01時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,080 (2024/03/15 19:03:47時点 Amazon調べ-詳細)

翼を授けよう!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥13,861 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥7,180 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

created by Rinker
MOFT
¥2,880 (2024/03/15 19:06:03時点 Amazon調べ-詳細)

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

見慣れぬ新機能

先日、とある案件で「Spring Boot」を使いたいという相談を受けていたため、ドキュメントや様々な技術ブログを漁っていたところ、面白そうな記述を見つけました。

Banner images

英語スキル雑魚の筆者は、とりあえずGoogle翻訳に全文コピペし概要を確認してみました。

英文:

You can now use image files to render ASCII art banners. Drop a banner.gif, banner.jpg or banner.png file into src/main/resources to have it automatically converted into ASCI

訳:

イメージファイルを使用してASCIIアートバナーをレンダリングできるようになりました。 banner.gif、banner.jpg、banner.pngファイルをsrc/main/resourcesにハイツすれば、自動的にASCIIに変換されます

こんぐらい自分で訳せよ!!
っていう満場一致の指摘は置いとくとして、なにやらシステム起動時のログに表示されるログを任意の画像に差し替えれるようになったよ!と言う事らしいですね。

こういう本来の目的と全く関係のない遊び心は筆者は大好物なので調査そっちのけで早速調べる事にしました☆w

ちなみにSpring Boot自体はとても使いやすいフレームワークです。
Javaであれば一番浸透していますし、まだまだ進化を遂げているのでオススメです!
筆者も大好きです♪

手順

まずは標準出力

まずは通常の起動ログを確認してみましょう。
以下のコマンドを実行してください。

すると、以下のようなログが出力されると思います。

デフォルトでは制作元であるSpringのロゴが表示されます。
では、早速この出力部分を変えてみましょう。

banner.pngの配置

作業はとても簡単です。
src/main/resourcesディレクトリに出力させたい画像をbanner.pngという名称で配置するだけです。
配置後の構造はこんな感じ。

この状態でもう一度実行してみてください。

おぉ!変わった!!
画像を配置するだけで自動生成してくれるんですね。

カラー出力したい

しかし、人間は欲深き生き物です。
自動生成しただけでは飽き足らずにカラー出力したい・・・!と思ってしまいました。

しかし、SpringBootさんは抜かりないです。
その場合は以下の設定application.propertiesに追加してください。

application.ymlの場合は以下。

カラーきた!!

しかし、ところどころ崩れているのが気に食わん。。。orz

テキストでより細かく設定

画像での出力だと、自動生成なので精密さに限界があります。
なので、細部までこだわりたい場合にはテキストファイルを作成して配置する事で自動生成では不可能な設定が可能になります。

ソースを見てみると、SpringBootのorg.springframework.boot.ansiパッケージ内に以下のEnumがあり、この値をテキストファイル内で${AnsiColor.RED}のように指定する事で様々な色を指定する事が可能になるとの事。

なるほど。
とりあえず試してみましょう。

以下のテキストを配置してみます。

そして実行。

良い感じ♪

ちなみにテキストの最初に空行を入れないと、出力が崩れる事があるので、何行か空行を入れといたほうが良いかもしれません。
この辺は要調整ですね。

では、実際に先ほど使用したbanner.pngを削除してbanner.txtに置き換えましょう。

実行するとこんな感じ。

とても良い感じになりましたね♪

終わりに

実際の開発には直接は関係のないところですが、社内パッケージを作っている場合にはこういう部分にブランドロゴを埋め込むのも良いと思います♪

もちろん個人開発時の遊び心としても面白いので、余裕がある方はぜひ試してみてください♪

CATEGORIES & TAGS

IT