Catalina.outとは
Tomcatサーバの標準出力とエラーログが記録されたファイル
Tomcat の起動や停止の際、Java アプリケーションからのメッセージがこのログに出力される
構造
- 日付と時刻:ログの記録が行われた日時
- ログのレベル:INFO、WARN、ERROR などがあり、それぞれ情報、警告、エラーレベルを示す
- メッセージ内容:エラーメッセージやスタックトレースなど
エラーメッセージの解析
- エラーメッセージと例外の確認
Catalina.outにエラーが出るときは通常、以下のような構造でエラーメッセージが記録される
[日付 時刻] [ERROR] クラス名 - エラーメッセージ
Exception in thread "main" java.lang.ExceptionType: 詳細なエラーメッセージ
at パッケージ.クラス名.メソッド名(ファイル名.java:行番号)
at パッケージ.他のクラス名.他のメソッド名(ファイル名.java:行番号)
Caused by: java.lang.CausedExceptionType: 原因に関する詳細メッセージ
... (続くスタックトレース)
- 最初の [ERROR] で始まる行に注目し、エラーがどこで発生したかを確認
- 次に例外の種類(ExceptionType 部分)とメッセージ内容(「詳細なエラーメッセージ」部分)を確認することで例外の種類で原因を絞り込むことができる
- 「Caused by」 がある場合、その下に「発生源の原因」が記載されているので最初の発生箇所から原因を探るのが効果的
2.スタックトレースの読み方
スタックトレースはエラーが発生した経緯を示す
最も上位にあるエントリが最新の実行部分で、末尾に近いエントリほどエラーの根本原因に近い場所を示す
- 行番号:各行の末尾に「ファイル名.java:行番号」のように記録されている箇所で、エラーの発生位置を特定できる
- クラス名とメソッド名:問題が発生したクラスやメソッドの情報から、どの処理が原因かを推測する