はじめに
Spring Boot を使っていると、
ログを読む力 がとても大切になります。
- 起動しないとき
- エラーが出たとき
- 期待した動作にならないとき
- Bean が見つからないとき
こういった場面で、
ログを正しく読めるだけで原因特定が一気に早くなります。
この記事では、Spring Boot のログの読み方を
やさしく・実務寄り で整理していきます。
ログの読み方の全体像
1. 一番下を見る(最重要)
2. Caused by を探す(真犯人)
3. エラーの種類を知る
4. どの層で起きているかを判断する
5. よくあるログのパターンを覚える
この流れで読むと、
ログが“怖いもの”から“頼れる味方”に変わります。
ログは「一番下」から読む
ログは上から順に出力されますが、 本当の原因は一番下に書かれています。
例
APPLICATION FAILED TO START
この下に原因が書かれています。
「Caused by」を探す(真犯人)
ログが長いときは、 「Caused by」 を検索します。
例
Caused by: java.lang.IllegalStateException: Failed to load ApplicationContext
この行が“真犯人”です。
エラーの種類を知る(よく出るものだけでOK)
Spring Boot でよく出るエラーは決まっています。
Bean が見つからない
NoSuchBeanDefinitionException
UnsatisfiedDependencyException
設定ファイルのミス
BindException
YamlParseException
DB 接続エラー
Cannot create PoolableConnectionFactory
クラスが見つからない
ClassNotFoundException
NoClassDefFoundError
ポート競合
Port 8080 is already in use
この 5 つを覚えるだけで、
ログの 7 割は読めるようになります。
どの層で起きているかを判断する
ログには「どの層で起きたか」が書かれています。
Controller
org.springframework.web
Service
org.springframework.beans.factory
Repository / JPA
org.hibernate
org.springframework.data.jpa
設定ファイル
org.springframework.boot.context.config
起動時のエラー
APPLICATION FAILED TO START
層が分かるだけで、
原因の見当がつきやすくなります。
よくあるログの読み方(実例つき)
ケース1:Bean が見つからない
NoSuchBeanDefinitionException: No qualifying bean of type 'UserService'
→ @Service の付け忘れ or パッケージ外。
ケース2:設定ファイルのミス
Cannot bind property 'datasource.url'
→ application.yml のスペル or インデント。
ケース3:DB 接続エラー
Communications link failure
→ DB が起動していない or URL が違う。
ケース4:クラスが見つからない
ClassNotFoundException: com.example.demo.Hoge
→ 依存関係の不足 or パッケージ移動。
ケース5:ポート競合
Port 8080 is already in use
→ 他のアプリが 8080 を使用中。
ログを読むときの“黄金ルール”
一番下を見る
原因は最後に書かれている。
Caused by を探す
真犯人が分かる。
エラーの種類を知る
Bean / 設定 / DB / 依存 のどれか。
層を意識する
Controller / Service / Repository のどこか。
ログを怖がらない
ログは“怒っている”のではなく“教えてくれている”。
ログをもっと活かすポイント
ログレベルを変える
application.yml でログを増やせます。
logging:
level:
org.springframework: DEBUGBean の一覧を見る
Actuator の /actuator/beans が便利。
SQL を出力する
spring.jpa.show-sql: trueまとめ
Spring Boot のログは、
「一番下 → Caused by → エラー種類 → 層」
の順に読むと理解できます。
- 一番下を見る
- Caused by を探す
- よくあるエラーを覚える
- どの層で起きているか判断する
- ログは“味方”と考える
難しく聞こえますが、
「ログの最後だけ見ればいい」
と理解できれば十分です。

ログは最初こそ難しく見えますが、
“読み方のコツ” を知るだけで一気に味方になります。
原因特定が早くなると、開発のストレスがぐっと減ります。
あなたの開発が、今日より少しだけ楽になりますように。

ログって長いけど、最後だけ見ればいいんだね…
やさしい読み方だね。

コメント