はじめに
Spring Boot で開発していると、
ログ(logging) は欠かせない存在です。
「ログが多すぎて読めない」
「DEBUG を出したいけど設定方法がわからない」
「パッケージごとにログレベルを変えたい」
そんな悩みを解決してくれるのが
logging.level の設定です。
この記事では、ログ設定の基本を
やさしく・実務で役立つ形 で整理していきます。
まずは設定ファイルを見て、そこから少しずつ理解していきましょう。
まずはコードを確認
application.yml
logging:
level:
root: INFO
com.example.demo: DEBUGapplication.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 にする
logging:
level:
root: INFO特定パッケージだけ DEBUG にする
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.demo と com.example.demo. は別扱いです。
まとめ
logging.level は、
「どのログをどのレベルで出すかを制御する設定」
です。
- root とパッケージごとに設定できる
- DEBUG / INFO / WARN / ERROR を使い分ける
- SQL ログも出せる
- 本番では INFO 以上が基本
難しく聞こえますが、
「必要なログだけを出すための設定」
と理解できれば十分です。

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

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

コメント