【Spring Boot】ログ設定(logging.level)の基本をやさしく解説

Java入門・実践
スポンサーリンク
スポンサーリンク

はじめに

Spring Boot で開発していると、
ログ(logging) は欠かせない存在です。

「ログが多すぎて読めない」
「DEBUG を出したいけど設定方法がわからない」
「パッケージごとにログレベルを変えたい」

そんな悩みを解決してくれるのが
logging.level の設定です。

この記事では、ログ設定の基本を
やさしく・実務で役立つ形 で整理していきます。

まずは設定ファイルを見て、そこから少しずつ理解していきましょう。

まずはコードを確認

application.yml

YAML
logging:
  level:
    root: INFO
    com.example.demo: DEBUG

application.properties

logging.level.root=INFO
logging.level.com.example.demo=DEBUG

このように、
パッケージごとにログレベルを指定できる
のが logging.level の特徴です。

コードのしくみを解説

logging.level とは

一言でいうと、

「どのログをどのレベルで出すかを決める設定」

です。

Spring Boot では、

  • root(全体)
  • パッケージ単位
  • クラス単位

でログレベルを細かく制御できます。

ログレベルの種類

代表的なログレベルを整理します。

レベル意味
TRACE最も詳細。デバッグより細かい
DEBUG開発時の詳細ログ
INFO通常の動作ログ(デフォルト)
WARN注意すべき状態
ERRORエラー発生
OFFログを出さない

実務では

  • root は INFO
  • 自分のパッケージは DEBUG
    という設定がよく使われます。

よく使う設定パターン

全体を INFO にする

YAML
logging:
  level:
    root: INFO

特定パッケージだけ DEBUG にする

YAML
logging:
  level:
    com.example.demo: DEBUG

特定クラスだけログレベルを変える

logging.level.com.example.demo.service.UserService=DEBUG

SQL ログを出す

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

SQL の内容やバインド値を確認できます。

あわせて知っておきたいポイント

ログは「出しすぎ」より「必要なときに必要なだけ」

DEBUG を全体に設定するとログが膨大になります。
必要なパッケージだけ DEBUG にするのが実務的です。

本番環境では INFO 以上が基本

DEBUG や TRACE は本番では重くなるため避けます。

ログの出力先も変更できる

logging.file.name=app.log
logging.file.path=/var/logs

ファイル出力も簡単に設定できます。

ログフォーマットも変更可能

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n

見やすい形式にカスタマイズできます。

使うときに気をつけたいこと

DEBUG を本番で使わない

パフォーマンスに影響することがあります。

SQL ログは必要なときだけ

TRACE を有効にするとログが大量に出るため注意が必要です。

パッケージ名の指定ミスに注意

com.example.democom.example.demo. は別扱いです。

まとめ

logging.level は、
「どのログをどのレベルで出すかを制御する設定」
です。

  • root とパッケージごとに設定できる
  • DEBUG / INFO / WARN / ERROR を使い分ける
  • SQL ログも出せる
  • 本番では INFO 以上が基本

難しく聞こえますが、
「必要なログだけを出すための設定」
と理解できれば十分です。


decopon
decopon

ログ設定を整えると、開発も運用もぐっと楽になります。
必要な情報だけが見えるようになると、
トラブルシューティングのスピードも上がります。
あなたの開発が、今日より少しだけ楽になりますように。

moco
moco

ログって、アプリのつぶやきみたいだね。必要な声だけ聞こえると安心するなあ。

コメント

タイトルとURLをコピーしました