java - Tomcat 7.0.47 - Windows - 缺少未处理的异常/堆栈跟踪

标签 java tomcat logging error-handling windows-7

Tomcat 7.0.47 - Windows 7 - 默认安装。

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

Console 和 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.

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

难倒...

最佳答案

好的,我发现了问题。这很简单。/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。

关于java - Tomcat 7.0.47 - Windows - 缺少未处理的异常/堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29681739/

相关文章:

java - 在 Java 中登录

java - 将 Spinner<Integer> 绑定(bind)到现有 IntegerProperty

java - 通过 HttpClient 连接 Tomcat 管理器

jsf - 如何在Tomcat上安装和使用CDI?

java - Etat HTTP 500 - "Servlet.init()"pour la servlet AxisServlet 一个通用异常

java - 错误找不到键 log4j.appender.error 的值

java - 以编程方式关闭特定包的 java.util.logging

java - 对于多模块 Maven 项目,是否可以使我的根(pom 打包)项目在 Eclipse 中可用?

java - 为什么不可变的 new String ("fish") != new String ("fish")?

java - 使用 Spring REST 上传图像