Tomcat 7.0.47 - Windows - 缺少未处理的异常/ Stacktrace

时间:2015-04-16 17:16:43

标签: java tomcat logging error-handling windows-7

Tomcat 7.0.47 - Windows 7 - 默认安装。

未处理的异常不会进入控制台,也不会出现在apache-tomcat-7.0.47 \ logs下的任何日志文件中。

控制台和catalina.2015-04-16.log正在写入缺失的错误。 System.out.println进入控制台(但不是catalina.2015-04-16.log)。 System.err.println也进入控制台。但运行时错误,如未处理的异常不会!他们在哪里?

查看/conf/logging.properties文件:

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

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

不知道从哪里开始。作为诊断我故意导致nullpointer异常。我在它之前和之后放了一个System.out.println。之前的System.out出现在控制台中。后面没有(这是我所期待的),但未处理的异常无处可寻。

...难倒

1 个答案:

答案 0 :(得分:1)

好的,我发现了问题。这很简单。 /conf/logging.properties文件包含默认为FINE的日志记录级别。我已经习惯了早期的Tomcat版本了,所以在我看来,FINE水平非常详细,显然不是。将记录级别设置为" ALL" (" FINEST"也可能有效)。未处理的异常开始出现在控制台日志中。

/conf/logging.properties文件的部分如下:

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 = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

我将第一组和最后一组(1catalina.org和java.util.logging.ConsoleHandler)更改为ALL。