unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Tomcatのlogging.properties設定方法

Tomcat 7/8のログ出力設定ファイル(logging.properties)の定義方法をまとめています。

Tomcatjava.util.logging API実装(JULI)での設定方法拡張(一部抜粋)

  • .handlersプロパティを設定することでルートLoggerのHandlerが定義できる。
  • Handler名にプレフィックスを付けることで同じHandlerクラスを複数回利用できる。
    • プレフィックスは数字で始まり.で終わること。
  • あるLoggerにHandlerが設定されている場合は親のLoggerの処理は実施されない(設定で変更可能)。

デフォルトのlogging.properties設定内容

# 利用するHandlerを指定する。この設定方法はjava.util.loggingと同様。
# org.apache.juli.FileHandlerクラスを"1catalina"、"1localhost"、"3manager"というプレフィックスをつけることで3つのHandlerとして利用している。
handlers = 1catalina.org.apache.juli.FileHandler, \
           2localhost.org.apache.juli.FileHandler, \
           3manager.org.apache.juli.FileHandler, \
           java.util.logging.ConsoleHandler

# ルートLoggerが利用するHandlerを指定する。
# Loggerに個別にHandlerを指定していない場合は、ルートLoggerのHandlerに渡される。
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

# 各Handlerに対して設定値を指定する。
# level:出力するログレベル
# directory:ログファイルを出力するディレクトリ(FileHandler)
# prefix:ログファイルのファイル名のプレフィックス(FileHandler)
# bufferSize:ログ出力処理のバッファサイズ(FileHandler)
# formatter:ログの整形を行うクラス

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
3manager.org.apache.juli.FileHandler.bufferSize = 16384

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

# 各Loggerに対して設定値を指定する。
# level:記録対象となるログのログレベル
# handlers:Loggerが利用するHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
   2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
   3manager.org.apache.juli.FileHandler

参考