Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置tomcat以滚动catalina.log文件_Tomcat_Logging_Tomcat6_Catalina - Fatal编程技术网

如何配置tomcat以滚动catalina.log文件

如何配置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

我正在尝试将tomcat配置为在达到大小限制后滚动日志文件。我正在将tomcat作为windows服务运行,并将所有的stdout重定向到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似乎不起作用

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
还要注意,Java
FileHandler
的配置与Tomcat
FileHandler

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?是的,开发人员在这方面做得非常糟糕!