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出现在控制台中。后面没有(这是我所期待的),但未处理的异常无处可寻。
...难倒
答案 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。