如何在Tomcat中实现日志轮转

4
我刚刚在conf/logging.properties中做了更改,以便在特定时间后轮换日志文件。然而,它没有起作用。
更改内容如下:
#.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler



#1catalina.org.apache.juli.FileHandler.level = FINE
#1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#1catalina.org.apache.juli.FileHandler.prefix = catalina.
1catalina.java.util.logging.FileHandler.level = FINE 
1catalina.java.util.logging.FileHandler.pattern = ${catalina.base}/logs/catalina.%g.log 
1catalina.java.util.logging.FileHandler.limit = 13107200 
1catalina.java.util.logging.FileHandler.count = 5 
1catalina.java.util.logging.FileHandler.formatter =  java.util.logging.SimpleFormatter

请提供更多详细信息。您要做什么?您期望发生什么?相反,正在发生什么?java.util.logging.FileHandler 通过文件大小而不是时间进行旋转。 - jmehrens
我正在尝试旋转catalina.out文件,因为它最终在服务器上变得过大。要点是,如果大小达到1GB,则可以在不重启tomcat服务的情况下对catalina.out进行旋转。我不想使用操作系统logrotate,因为在我们的设置中它无法按预期工作。通过以上更改,什么都没有在工作。 - user7994925
1个回答

1

看起来您将org.apache.juli.FileHandlerjava.util.logging.FileHandler混淆了。

从您想要使用的配置文件来看,您需要在记录器上安装java.util.logging.FileHandler

handlers = 1catalina.java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.java.util.logging.FileHandler

1catalina.java.util.logging.FileHandler.level = FINE 
1catalina.java.util.logging.FileHandler.pattern = ${catalina.base}/logs/catalina.%g.log 
1catalina.java.util.logging.FileHandler.limit = 13107200 
1catalina.java.util.logging.FileHandler.count = 5 
1catalina.java.util.logging.FileHandler.formatter =  java.util.logging.SimpleFormatter

另一种选择是使用Tomcat的FileHandler:
handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina. 
1catalina.org.apache.juli.FileHandler.rotatable = true 
1catalina.org.apache.juli.FileHandler.formatter =  java.util.logging.SimpleFormatter

我确实尝试了你的建议,但是它没有起作用。 - user7994925
同样的问题 - Tomcat 7.0.22 - JackTheKnife
@JackTheKnife 你可能需要开一个新的问题。这样你就可以发布你的日志配置和任何其他调试信息。这个问题混淆了按时间旋转和按大小旋转。 - jmehrens
@jmehrens 是的,我已经做了:https://stackoverflow.com/questions/49322523/tomcat-logging-properties-formatter-not-taking-effect - JackTheKnife

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接