Catalina ログがローテーションまたは削除されない

プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。

このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。

*Fisheye および Crucible は除く

症状

  1. catalina.out がローテーションされない
  2. 古い 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 ファイルは削除されません。
  • localhostmanager、および host-manager ログは catalina.YYYY-MM-DD.log ファイルと同様に設定されています 

ソリューション

  1. 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 ファイルに記録されているため、すべてのログが失われてしまうことはありません。

  2. 古いログ ファイルを削除するスケジュール ジョブを 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 のインストール パスで置き換え、保持したいログを意図せず削除してしまわないようにサンプル データでスクリプトをテストすることを忘れないようにしてください。


上記のスクリプトは一例です。必要に応じて他の削除またはアーカイブ方法を使用することもできます。

最終更新日: 2024 年 12 月 17 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.