在tomcat 6.0.x中添加log4j [1]会强制tomcat在“catalina”文件中生成日志。但是,仍会生成默认的catalina.out并使用日志填充。所以,问题:
删除catalina.out文件(服务器运行时)是否安全? 如果是,可以将此删除添加到tomcat启动脚本吗?如果是的话,有人可以指出文件和所需的脚本吗? tomcat是否有可能停止创建catalina.out,因为它不再是nessesary了?
答案 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中删除处理程序以停止生成此文件