catalina.out与Tomcat 6.0一起滚动
我有一个默认的tomcat安装,没有改变日志configuration。 日志文件(特别是catalina.out)似乎正在滚动(每日)正确。
然而,除了日志以外,还有一个catalina.out文件,这个文件只是继续增长。 这是我需要解决的问题,即每天清理(如果可能的话,将其全部清除)
有人可以解释一下这里发生了什么,以及控制日志文件大小的最佳策略吗?
只是澄清输出正在写入catalina.out和每日日志同时
-rw-r--r-- 1 solr solr 90920663 Jul 18 01:16 logs/catalina.2009-07-18.log -rw-r--r-- 1 solr solr 238010 Jul 18 01:16 logs/catalina.out
设置swallowOutput似乎没有任何区别。
在tomcat下运行的应用程序是相关的。
修正了它,原来标准的日志configuration定义了一个文件logging器和一个控制台logging器。 文件logging器转到每日catalina日志,并且控制台logging器写入catalina.out。
修复是在conf / logging.properties中更改:
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
至
.handlers = 1catalina.org.apache.juli.FileHandler
这阻止了任何写到catalina.out的东西
嗨,你可能想尝试这个解决scheme
http://java.dzone.com/articles/how-rotate-tomcat-catalinaout
它使用cronjob(logrotate)复制,压缩和清理你的catalina.out,如果你看看logrotate,你会看到它有很多额外的function。 它不会干扰每日日志,除非您configuration它。 当遇到同样的问题时,我发现它很有帮助。
顺便说一句,删除控制台处理程序只会影响由Tomcat生成的消息。
我在Ubuntu 11.04 SOLR服务器上遇到了同样的问题,catalina.out文件差不多是1GB。 后
更改logging.properties:
.handlers = 1catalina.org.apache.juli.FileHandler,java.util.logging.ConsoleHandler
至
.handlers = 1catalina.org.apache.juli.FileHandler
停止logging到catalina.out
您可以在Ubuntu Linux的/ etc / tomcat6 /文件夹中findlogging.properties文件。
我也注意到我的tomcat日志文件夹( /usr/local/tomcat/logs
)非常庞大。 要检查日志文件夹的大小,请执行以下du -hs /usr/local/tomcat/logs/
。 要通过设置一个每天晚上清理文件的cron来解决这个问题,或者您可以手动运行这些命令。 这里是删除5天以前的文件的shell脚本
#!/bin/sh find /usr/local/tomcat/logs -name 'catalina.*.log' -mtime +5 -print0 | xargs -0 rm -f find /usr/local/tomcat/logs -name 'localhost_access_log.*.txt' -mtime +5 -print0 | xargs -0 rm -f
你可以通过configuration来旋转你的catalina.out文件:
脚步:-
-
1)转到/etc/logrotate.d并创build文件tomcat
-
2)粘贴在线以下
-
按大小旋转
/opt/OS/OS2/logs/catalina.out {
copytruncate
日常
旋转30
压缩
missingok
大小20M
}
– 大小 – 备份catelina.out如果大于20MB
要么
- 按date旋转
/opt/deadpool/apache-tomcat/logs/catalina.out {
copytruncate
dateext
日常
旋转30
压缩
missingok
}
- 旋转 – 保存最近30次旋转
- dateext – 每天备份catelina.out
- 每日 – 每日轮换
- 压缩 – 以压缩forms旋转
- missingok – 如果旋转中缺less某些东西,它将不会创build任何图像
3)重新启动服务器
它为我工作:)希望这将有助于某人。
谢谢 :)