我们很高兴运行三台CentOS服务器,每台服务器都在Tomcat实例(UAT,Demo和Production)上部署了相同的应用程序。我们在应用程序中使用Log4j输出到标准CATALINA_HOME / logs / catalina.out文件。这在UAT和Demo服务器上运行良好,但在生产服务器上,我们在此文件中输出直到启动过程结束,但是没有输出任何应用程序日志记录。
使用LSOF我可以看到STDOUT总是指向/ dev / null。即使用>>显式启动Tomcat也是如此$ CATALINA_OUT 2>& 1&附加到它,它最终指向/ dev / null。我可以在其他服务器上看到它指向正确的catalina.out文件。
我已经在服务器上重新部署了tomcat,并直接从工作的UAT实例中复制了配置文件,现在我正在摸不着头脑。有什么想法吗?
答案 0 :(得分:1)
你是如何“以>> $ CATALINA_OUT 2>& 1&&添加到它上面”启动Tomcat“?
您是否100%确定没有人修改bin/startup.sh
或bin/catalina.sh
来添加/dev/null
行为?
与您的核心问题无关,但我强烈建议使用log4j配置写入文件(FileAppender
)而不是登录标准输出 - 这为您提供了根据日期滚动文件的选项/ size / etc,非常容易改变位置等。登录标准输出并不能提供这种灵活性。
答案 1 :(得分:0)
您有类似的设置,可以正常工作;要做的是找出那些没有的东西有什么不同。对以下文件执行diff:
同样比较: