我正在使用用于记录 system.out.println 语句的第三方库(无法修改)。输出在控制台中显示正常,但我无法在 catalina[...].log 文件中检索这些信息?
是否可以将它们发送到 log4j?
在 unix 上运行 Tomcat 时,控制台输出通常重定向到名为catalina.out的文件。该名称可使用环境变量进行配置。(请参阅启动脚本)。
http://tomcat.apache.org/tomcat-7.0-doc/logging.html#Console
System.out.println()
打印到标准输出。因此,如果您想在日志文件中查看这些语句,您可以在 Tomcat 启动脚本中将标准输出重定向到您想要的位置。
您也可以在 cat /var/log/messages 中找到这些日志
如果你试试
cat /var/log/messages | grep server
如果您正在运行 JSP,那么您需要添加
<%@ page isThreadSafe="false" %>
然后您的所有 System.out.printlns 将开始显示在 catalina.out 文件中。
如果您从命令行运行 Catalina.sh 启动 tomcat,您将在输出中看到打印结果。
你可以在里面找到它TOMCAT_HOME/logs/stdout_20130104.txt
(文件名可能会改变,但日志文件通常在文件夹中TOMCAT_HOME/logs/
。
对我来说,我的代码中的所有系统输出都写在这样的文件中。
在我的情况下(Fedora 29 apache-tomcat-8.5.39),它位于日志文件夹内的catalina.out文件中。