Tomcat 6 log4j – linux – 安全地删除catalina.out

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

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

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

在此先感谢人!

Tomcat将其stdout和stderr重定向到catalina.out。 所以直接输出/ err写入和log4j ConsoleAppender消息将转到catalina.out。 有关详细信息,请参阅catalina.sh文件 。 要完全禁用它,可以将stdout和stderr重定向到/ dev / null设置CATALINA_OUT环境变量:

export CATALINA_OUT=/dev/null 

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

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

org.apache.catalina.level=INFO

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

日志记录文档 – 一个快速rtfm,它看起来像你应该只是能够从logging.properties中删除处理程序停止生成这个文件