Tomcat のログの出力量を抑制する方法

カテゴリ:Java

対象バージョン: Tomcat 8.5

Tomcat は初期設定ではログの出力レベルが INFOFINE となっており、場合によっては数日で数十GBなど、非常の多くのログを出力する場合があり、予期しないディスク枯渇を引き起こす可能性があるため注意が必要です。

例えば WARNING レベルのログなど殆ど動作に支障が無いにも拘わらずやたらと頻繁に出力される事があります。

以下では Tomcat のログレベルの変更によりログの出力量を抑制する方法を解説いたします。

Tomcat のログレベルの変更

以下のファイルをエディタで開きます。

$CATALINA_ROOT/conf/logging.properties

末尾が .level となっているパラメータの値をすべて SEVERE に変更します。(コメント行は影響はないため除外)

例)

1catalina.org.apache.juli.AsyncFileHandler.level = SEVERE
2localhost.org.apache.juli.AsyncFileHandler.level = SEVERE
3manager.org.apache.juli.AsyncFileHandler.level = SEVERE
4host-manager.org.apache.juli.AsyncFileHandler.level = SEVERE
java.util.logging.ConsoleHandler.level = SEVERE
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = SEVERE
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = SEVERE
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = SEVERE
#org.apache.catalina.util.LifecycleBase.level = FINE
#org.apache.jasper.compiler.TldLocationsCache.level = FINE
#org.apache.coyote.http2.level = FINE
#org.apache.tomcat.websocket.level = FINE

NoteSEVERE は重大な障害のみ出力。
初期設定では INFO や FINE が指定されており、場合によってはかなりの量のログが出力されてしまう。

設定後、Tomcat を再起動します。

# systemctl restart tomcat

なお、Tomcat のログレベルの設定に関しては、以下の公式ページで解説されています。

参考:

https://tomcat.apache.org/tomcat-8.5-doc/logging.html

The default logging.properties in the JRE specifies a ConsoleHandler that routes logging to System.err. The default conf/logging.properties in Apache Tomcat also adds several AsyncFileHandlers that write to files.
A handler's log level threshold is INFO by default and can be set using SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST or ALL. You can also target specific packages to collect logging from and specify a level.

公開日時:2024年04月01日 20:39:09
最終更新日時:2024年04月05日 20:37:38

なお、VPS選びで迷ったらこちらの記事で主要VPSのメモリ容量ごとの月額、年額料金を比較していますので、是非参考にしてみてください。

Javaに戻る

このページのトップに戻る