6

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

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

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

我通过简单地运行 tomcat/bin/startup.sh 来启动服务器

4

1 回答 1

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 引擎日志与我的应用程序日志分开

于 2010-10-27T04:59:48.167 回答