如何配置tomcat以滚动catalina.log文件
我正在尝试将tomcat配置为在达到大小限制后滚动日志文件。我正在将tomcat作为windows服务运行,并将所有的stdout重定向到catalina.log。这就是我通过logging.properties设置大小限制的方式。但它不起作用 logging.properties如何配置tomcat以滚动catalina.log文件,tomcat,logging,tomcat6,catalina,Tomcat,Logging,Tomcat6,Catalina,我正在尝试将tomcat配置为在达到大小限制后滚动日志文件。我正在将tomcat作为windows服务运行,并将所有的stdout重定向到catalina.log。这就是我通过logging.properties设置大小限制的方式。但它不起作用 logging.properties handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apach
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似乎不起作用
org.apache.juli.FileHandler
不支持基于文件大小的旋转,并且没有试图设置的限制和计数属性()。相反,您可以使用支持基于大小的旋转的标准Java.util.logging.FileHandler。您应该更改配置中的以下行:
handlers = 1catalina.java.util.logging.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.java.util.logging.FileHandler, java.util.logging.ConsoleHandler
还要注意,JavaFileHandler
的配置与TomcatFileHandler
1catalina.java.util.logging.FileHandler.level = FINEST
1catalina.java.util.logging.FileHandler.pattern = <your log dir>/catalina%g.log
1catalina.java.util.logging.FileHandler.limit = 100000
1catalina.java.util.logging.FileHandler.count = 5
1catalina.java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
1catalina.java.util.logging.FileHandler.level=FINEST
1catalina.java.util.logging.FileHandler.pattern=/catalina%g.log
1catalina.java.util.logging.FileHandler.limit=100000
1catalina.java.util.logging.FileHandler.count=5
1catalina.java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
然而,我不确定将standard重定向到logger编写的文件是否能很好地工作并帮助您实现所需 根据:
公共类FileHandler扩展了java.util.logging.Handler
将日志消息附加到名为
已配置目录中的{prefix}{date}{suffix}
以下配置属性可用:
- 目录-创建日志文件的目录。如果路径不是绝对路径,则它是相对于当前工作目录的
应用程序的名称。ApacheTomcat配置文件通常
指定此属性的绝对路径${catalina.base}/logs
默认值:日志
- 可旋转-如果为true,则日志文件将在午夜后的第一次写入时旋转,文件名将为{prefix}{date}{suffix},
其中日期为yyyy-MM-dd。如果为false,则不会旋转文件并
文件名将为{prefix}{suffix}。默认值:true
- 前缀-日志文件名的前导部分。默认值:juli
- 后缀-日志文件名的尾随部分。默认值:。日志
- bufferSize—配置缓冲。值0使用系统默认缓冲(通常使用8K缓冲)。值为0时使用
BufferedOutputStream具有定义的值,但请注意,系统
默认缓冲也将被应用。默认值:-1
- 编码-日志文件使用的字符集。默认值:空字符串,表示使用系统默认字符集
- 级别-此处理程序的级别阈值。有关可能的级别,请参见java.util.logging.Level类。默认值:
全部
- filter—此处理程序的java.util.logging.filter实现类名。默认值:未设置
- formatter—此处理程序的java.util.logging.formatter实现类名。默认值:
java.util.logging.SimpleFormatter
你为什么还要在web应用程序中向标准输出任何东西?!如果你有什么负担要谈,这会扼杀你的表现。您不能使用log4j或其他一些日志库吗?因为,在将tomcat作为服务运行时,控制台消息将直接发送到stdout.log。我是否可以旋转stdout.log Atlase这些控制台消息来自哪里?你的web应用程序中是否有system.out.println?是的,开发人员在这方面做得非常糟糕!