web-dev-qa-db-ja.com

Tomcatを構成してcatalina.logログファイルをロールオーバーする方法

サイズ制限に達したらログファイルをロールオーバーするようにTomcatを構成しようとしています。 TomcatをWindowsサービスとして実行しており、すべての標準出力をcatalina.logにリダイレクトしています。これは、logging.propertiesでサイズ制限を設定する方法です。しかし、それは機能していません。

logging.properties

handlers = 1catalina.org.Apache.juli.FileHandler, 2localhost.org.Apache.juli.FileHandler, 3manager.org.Apache.juli.FileHandler, 4Host-manager.org.Apache.juli.FileHandler, Java.util.logging.ConsoleHandler

.handlers = 1catalina.org.Apache.juli.FileHandler, Java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.Apache.juli.FileHandler.level = FINE
1catalina.org.Apache.juli.FileHandler.directory = e:/Apache-Tomcat/logs/server_111-1001
1catalina.org.Apache.juli.FileHandler.prefix = catalina.
1catalina.org.Apache.juli.FileHandler.limit = 100000 # size 100kb 
1catalina.org.Apache.juli.FileHandler.count = 5


2localhost.org.Apache.juli.FileHandler.level = FINE
2localhost.org.Apache.juli.FileHandler.directory = e:/Apache-Tomcat/logs/server_111-1001
2localhost.org.Apache.juli.FileHandler.prefix = localhost.

3manager.org.Apache.juli.FileHandler.level = FINE
3manager.org.Apache.juli.FileHandler.directory = e:/Apache-Tomcat/logs/server_111-1001
3manager.org.Apache.juli.FileHandler.prefix = manager.

4Host-manager.org.Apache.juli.FileHandler.level = FINE
4Host-manager.org.Apache.juli.FileHandler.directory = e:/Apache-Tomcat/logs/server_111-1001
4Host-manager.org.Apache.juli.FileHandler.prefix = Host-manager.

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


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

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

org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Host-manager].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Host-manager].handlers = 4Host-manager.org.Apache.juli.FileHandler

# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
#org.Apache.catalina.startup.ContextConfig.level = FINE
#org.Apache.catalina.startup.HostConfig.level = FINE
#org.Apache.catalina.session.ManagerBase.level = FINE
#org.Apache.catalina.core.AprLifecycleListener.level=FINE

しかし、1catalina.org.Apache.juli.FileHandler.limit = 100000は機能していないようです

4
Srinivas

ここに記載されているFileHandlerを使用しています: http://Tomcat.Apache.org/Tomcat-6.0-doc/api/org/Apache/juli/FileHandler.html 「制限はありません"プロパティ、それは日の変更でのみ回転します。

より柔軟なlog4jを使用するようにTomcatを構成できます。次のページを参照してください。 http://Tomcat.Apache.org/Tomcat-6.0-doc/logging.html#Using_Log4j

コンテキスト内のswallowOutputの使用は推奨されていません(上記のページに記載されているとおりです)。

2
AndreasM