我对Tomcat很新。
我在寻找的是:
对于Tomcat根据大小旋转文件,压缩&压缩后删除旧文件。
我的当前日志文件在不同位置配置,如下所述。我不确定这是否是在Tomcat中处理这些日志的正确方法。
localhost_access_log /var/lib/tomcatmulti/frontend/conf/server.xml
netbiscuits-perf.log /var/lib/tomcatmulti/frontend/webapps/ROOT/WEB-INF/classes/log4j.xml
catalina.out /usr/share/tomcat7/bin/catalina.sh
请不要建议logrotate。如果你愿意的话,我想了解为什么Tomcat WONT会旋转它,因为我认为这是应用程序应该能够做的事情。
答案 0 :(得分:1)
如何找到使用Tomcat的日志引擎?
我会看一下manual。从左侧的“文档”中选择一个。在默认状态下,Tomcat使用“JULI”混合使用Java Util Logging(JUL)和Apache Commons Logging。
这是否意味着我的tomcat启用了log4j?
不,你的申请没有。当然你也可以让Tomcat使用Log4j,另请参阅docs。
如何旋转上述文件的日志? ...请不要建议logrotate。
好的,我不会。使用RollingFileAppender。我的Tomcat默认是在旋转日志。你有没有检查轮换规则?
为了简短起见:“localhost_access_log”和“catalina.out”由Tomcat的Juli框架创建,“netbiscuits-perf.log”由Log4J创建。这些是不同的框架,如果没有明确地做一些工作,就不能一起工作。
我建议您将SLF4j添加到您的应用中。它是一个外观,它从其他框架(Log4j2除外)收集日志,并将它们重定向到您选择的框架。这样您就可以使用像Logback这样的现代框架来完成最后的工作,比如使用RollingFileAppender创建文件。