Catalina ログがローテーションまたは削除されない
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
症状
catalina.out
がローテーションされない- 古い
catalina.*.log
ファイルが削除されない
これらのログ ファイルはサイズが大きくなる可能性があります。
原因
Confluence では Tomcat のデフォルトのログ設定が使用されます。この設定は次のような内容です。
catalina.out
は、stdout と stderr のすべての出力を ConsoleHandler 経由で受け取るほか、Confluence を起動または終了したときの bootstrap ステップからのログを取得しますcatalina.out
はローテーションされませんcatalina.YYYY-MM-DD.log
は stdout と stderr の FileHandler 経由の出力を格納しますが、bootstrap ログは格納しませんcatalina.YYYY-MM-DD.log
ファイルはその日の最初のログ イベント、または Tomcat サーバーの起動時に作成されます。つまり、その日のログがなく、その日にサーバーが起動していない場合、ファイルは作成されません。catalina.YYYY-MM-DD.log
およびcatalina.out
ファイルは削除されません。localhost
、manager
、およびhost-manager
ログはcatalina.YYYY-MM-DD.log
ファイルと同様に設定されています
ソリューション
ConsoleHandler を無効化することで
catalina.out
に記録される量を減らします。これは conf/logging.properties ファイルを編集することで行えます。次のような行を見つけます。conf/logging.properties.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
これを次のように変更します。
conf/logging.properties.handlers = 1catalina.org.apache.juli.AsyncFileHandler
これによって
catalina.out
に記録される量を減らすことができます、この出力のすべてがすでに *.log ファイルに記録されているため、すべてのログが失われてしまうことはありません。古いログ ファイルを削除するスケジュール ジョブを cron や他の代替手段でセットアップします。たとえば、1 週間以上前のファイルをすべて削除するには、次のようなスクリプトが使用できます。
sample_catalina_log_clean.sh#!/bin/sh find $CONFLUENCE_INSTALL/logs -name 'catalina.*.log' -mtime +1w -print0 | xargs -0 rm -f
$CONFLUENCE_INSTALL を実際の Confluence のインストール パスで置き換え、保持したいログを意図せず削除してしまわないようにサンプル データでスクリプトをテストすることを忘れないようにしてください。
上記のスクリプトは一例です。必要に応じて他の削除またはアーカイブ方法を使用することもできます。