ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
ログファイルの場所
Tomcat の起動 / 停止ログを含む各種ログファイルは $CATALINA_HOME/logs/ ディレクトリに出力されます。
| ファイル名 | 内容 | 出力元 |
|---|---|---|
catalina.YYYY-MM-DD.log | Tomcat 本体の動作ログ(起動・停止・エラー) | java.util.logging (JUL) |
catalina.out | 標準出力 + 標準エラー(System.out.println / 例外スタックトレース等) | OS のシェルリダイレクト |
localhost.YYYY-MM-DD.log | localhost コンテキストのログ | JUL |
manager.YYYY-MM-DD.log | Manager アプリのログ | JUL |
host-manager.YYYY-MM-DD.log | Host Manager アプリのログ | JUL |
localhost_access_log.YYYY-MM-DD.txt | アクセスログ(HTTP リクエスト) | AccessLogValve |
catalina.log と catalina.out の違い
2 つは見た目が似ていますが、出力経路がまったく違います。
catalina.log(正確には catalina.YYYY-MM-DD.log)
- Tomcat 内部の
java.util.loggingハンドラ(1catalina.org.apache.juli.AsyncFileHandler)が出力 - 出力対象: Tomcat コアクラスのログ(起動完了メッセージ・ライフサイクルイベント・コネクタ起動など)
conf/logging.propertiesで出力レベル・フォーマットを制御- 日付ごとに自動ローテーションされる(
catalina.2026-05-15.logのように) - 古いログの自動削除は標準ではされない(
maxDays設定で日数指定可)
catalina.out
- Tomcat 起動スクリプト(
catalina.sh)がSystem.outとSystem.errをシェルレベルでリダイレクトしたもの - 出力対象: アプリ内の
System.out.println/System.err.println、printStackTrace()、Tomcat 起動初期のメッセージなど logging.propertiesのjava.util.logging.ConsoleHandler出力もここに混ざる- 自動ローテーションされない(無限に追記される)
- Windows サービスとして起動した場合は生成されない(procrun が独自のログに転送するため)
本番運用のローテーション設定
catalina.out は放置すると数 GB に肥大化するため、ローテーションが必須です。
方法 1: logrotate(Linux 推奨)
/etc/logrotate.d/tomcat を作成:
/opt/tomcat/logs/catalina.out {
copytruncate
daily
rotate 14
compress
missingok
notifempty
}
ポイント:
copytruncate: ファイルをコピーしてから 0 バイトに切り詰める(Tomcat 再起動不要)daily: 日次でローテーションrotate 14: 14 世代保持compress: gzip 圧縮
方法 2: 標準出力を分割(catalina.sh の書き換え)
bin/catalina.sh の CATALINA_OUT 設定を編集して、org.apache.juli.AsyncFileHandler 経由でローテーションさせる方法もあります(中級者向け)。
方法 3: アプリ側で log4j2 / SLF4J を使う(推奨)
そもそも System.out.println ではなく log4j2 や SLF4J + Logback を使えば、フレームワーク側でローテーション可能。catalina.out は最小限に抑えられます。
logging.properties のカスタマイズ
Tomcat のログ動作は $CATALINA_HOME/conf/logging.properties で制御します。主要設定:
# ハンドラの追加(catalina.log の場所・サイズ)
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
# ログレベル(全体)
.level = INFO
# 特定パッケージのレベル
org.apache.catalina.startup.level = FINE
org.apache.coyote.level = WARNING
よくあるトラブル
Q. catalina.out にログが出ない
主な原因:
- Windows サービス起動: procrun は標準出力を別ファイル(
tomcat-stdout.YYYY-MM-DD.log)にリダイレクト - 環境変数 CATALINA_OUT が変更されている:
setenv.shで別ファイルにリダイレクトされていないか確認 - パーミッション: tomcat ユーザがログディレクトリに書き込めない
Q. ログが文字化けする(日本語が ??? になる)
logging.properties で encoding = UTF-8 を明示。JVM 起動オプションに -Dfile.encoding=UTF-8 も追加。
Q. ログレベルを変えたのに反映されない
Tomcat 再起動が必要です。動的に変えたい場合は JMX 経由で操作するか、log4j2 等の外部ロギングフレームワークを使用。
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- tomcatインストール(CentOS)
- WARファイルのAutoDeploy設定
- tomcatの起動/停止(Linux, Mac)
- JRE(JVM)のJavaのバージョン確認方法
- エラー一覧
- CATALINA_HOMEの確認方法(Linux, Mac)
- 管理画面の開き方
- tomcatの起動確認方法
- tomcatの起動/停止ログとcatalina.log/catalina.outの違い
- CentOSにおけるポート開放方法
- Javaのバージョン変更方法(Mac編)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?