Tomcat中未捕获的异常打印到localhost.[date] .log而不是catalina.out

Kei*_*ith 6 tomcat catalina.out

我正在运行tomcat 6.0.20(春天,如果这很重要)并且似乎无法从我的代码中抛出的未捕获的异常中获取堆栈跟踪以打印到catalina.out.

我试图模仿你在eclipse控制台中看到的输出.当我在生产服务器上部署war并启动tomcat时,大部分输出都转到catalina.out,但是我自己的代码中抛出的异常的堆栈跟踪转到tomcat/logs/localhost.[date] .log.

如何将所有相关日志记录转到一个文件(类似于eclipse的控制台)?

我只是运行tomcat/bin/startup.sh启动服务器

Jos*_*seK 4

编辑TOMCAT_HOME/conf/logging.properties

默认情况下,catalina 引擎日志记录到 catalina.log,本地主机日志记录到 localhost.log

像下面这样

1catalina.org.apache.juli.FileHandler.level = ALL
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = ALL
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
Run Code Online (Sandbox Code Playgroud)

选择并编辑.prefix以指向您想要的那个。

更新 catalina.out在启动脚本中明确引用,如下所示catalina.sh(但不在相应的 bat 文件中) - 这就是为什么我在 Windows 上看不到 .out 文件,而只在 *nix 系统上看到

"$CATALINA_BASE"/logs/catalina.out 2>&1

就我个人而言,我更喜欢 Catalina 引擎日志与我的应用程序日志分开