如何关闭所有tomcat日志轮换

问题描述 投票:1回答:2

我想使用logrotate在我的服务器上管理日志轮换,但是Tomcat执行自己的日志轮换,它与logrotate交互不良,我找不到关闭它的方法。我的Tomcat实例目前生成5种类型的日志:

  • catalina.2018-01-17.log
  • mysite_access.2018-01-17.log
  • localhost.2018-01-17.log
  • 主机manager.2018-01-17.log
  • manager.2018-01-17.log

经过一些谷歌搜索后,我发现我可以通过将rotatable="false"添加到server.xml中相应的<Value>元素中来禁用'mysite'日志的旋转,但其他日志都没有相应的<Value>元素。

日志似乎是由logging.properties文件配置的,但我找不到此文件的“关闭旋转关闭”选项。有人可以帮忙吗?我正在使用Tomcat 8.5

tomcat logging tomcat8
2个回答
3
投票

日志似乎是由logging.properties文件配置的,但我找不到此文件的“关闭旋转关闭”选项

您可以尝试使用其他日志处理程序并对其进行配置以避免轮换

您的属性文件可能包含此配置(如果您尚未更改默认设置)

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

您可以将其更改为java.util.logging.FileHandler并禁用旋转的大小限制

1catalina.java.util.logging.FileHandler.level = DEBUG
1catalina.java.util.logging.FileHandler.pattern = ${catalina.base}/logs/catalina.%g.log 

# set below limit to 0 !!
1catalina.java.util.logging.FileHandler.limit = 0
1catalina.java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

来自the docs

java.util.logging.FileHandler.limit

文件的最大大小(以字节为单位)。如果为0,则没有限制。默认值为1000000(1 MB)。大于1MB的日志将转到下一个日志文件

由于没有限制,因此永远不会发生文件轮换。


1
投票

org.apache.juli.AsyncFileHandler中可以选择转换rotatable功能。您可以直接添加以下参数来禁用日志轮换:

1catalina.org.apache.juli.AsyncFileHandler.rotatable = false
© www.soinside.com 2019 - 2024. All rights reserved.