ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?