Tomcat 6 log4j - linux - 安全删除catalina.out

时间:2012-03-09 15:41:58

标签: linux tomcat log4j

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

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

  1. http://tomcat.apache.org/tomcat-6.0-doc/logging.html
  2. 先谢谢大家!

2 个答案:

答案 0 :(得分:6)

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

export CATALINA_OUT=/dev/null

但我建议禁用ConsoleAppender以减少catalina.out大小并定期监视它以查找错误消息,这可能会转到stdout绕过log4j。

答案 1 :(得分:-1)

您是否有理由要删除catalina.out文件?它似乎可能导致可能缺少重要的事件消息。也许只考虑设置

org.apache.catalina.level=INFO

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

logging docs - 一个快速的rtfm,看起来您应该只能从logging.properties中删除处理程序以停止生成此文件