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

时间:2010-10-27 04:00:31

标签: tomcat catalina.out

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

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

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

我只是运行tomcat / bin / startup.sh

启动服务器

1 个答案:

答案 0 :(得分:3)

修改TOMCAT_HOME/conf/logging.properties

默认情况下,catalina引擎会记录到catalina.log,而localhost会记录到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.

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

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

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

我个人我更喜欢将Catalina引擎日志与我的应用程序日志分开