2012-03-09 92 views
2

在tomcat 6.0.x中添加log4j [1]强制tomcat在“catalina”文件中生成日志。但是,默认的catalina.out仍然会生成并填充日志。所以,问题:Tomcat 6 log4j - linux - 安全地删除catalina.out

删除catalina.out文件(服务器运行时)是否安全? 如果是的话,这个删除可以添加到tomcat启动脚本吗?如果是的话,是否有人可以指出文件和所需的脚本? tomcat是否有可能停止创建catalina.out,因为它不再需要了?

  1. http://tomcat.apache.org/tomcat-6.0-doc/logging.html

提前感谢的人!

回答

6

Tomcat重定向了它的输出和错误到catalina.out中。因此,直接输出/ err写入和log4j ConsoleAppender消息将转至catalina.out。详情请参阅catalina.sh file。要完全禁用它,你可以重定向输出和错误到/ dev/null的设置CATALINA_OUT环境变量:

export CATALINA_OUT=/dev/null 

但我建议禁用是ConsoleAppender,而不是减少catalina.out的大小和监视它会定期找错误信息,即可能会绕过log4j去标准输出。

+0

你建议禁用ConsoleAppender,但不要提及如何做到这一点。 – rooby 2015-02-26 00:31:56

+0

.handlers = 1catalina.org.apache.juli.AsyncFileHandler – 2016-01-28 03:23:29

-1

是否有你想删除catalina.out文件的原因?看起来它可能导致潜在的重要事件信息丢失。也许考虑只设置

org.apache.catalina.level=INFO

否则,我想不出有任何理由,如果你删除它,它会产生负面的容器的功能产生影响。在一个* nix上安装它仍然写入文件的文件描述符,该文件与inode(否则无法访问)是直接连接的,在Windows上它不会让你删除它,因为容器会有文件锁定。

logging docs - 快速RTFM,它看起来像你应该能够从logging.properties删除处理程序停止生产该文件

+0

删除catalina.out的原因是,由于使用log4j,tomcat日志现在在另一个文件“catalina”中生成。所以我们有两次相同的日志。而且,catalina.out变得非常大。 – nonouco 2012-03-09 15:49:06

+0

你应该参考文档,但根据我的经验,有些消息似乎只能进入catalina。特别是那些与类路径问题和致命的容器错误有关的问题。我建议减少catalina日志设置的冗长度。 – nsfyn55 2012-03-09 15:51:13

+0

请注意,我不想减少冗长,而且正如我之前提到的那些您正在引用的日志,现在也在多个文件中生成,因此catalina.out是无用的(因为我对标准输出不感兴趣服务器) – nonouco 2012-03-09 16:04:41