Eclipse控制台不显示Tomcat异常/堆栈跟踪

时间:2015-10-13 13:27:25

标签: java eclipse tomcat

当我从Eclipse中启动Tomcat时,我得到一个带有日志信息的控制台,这是我习惯的,它们总是以在几毫秒内启动Tomcat的语句结束。

但是,每当发生异常时,此异常的堆栈跟踪都不会显示在控制台中。我曾经能够从IDE中看到它们“发生”。

将logging.properties中的级别设置为其他值(FINEST或ERROR)会显示预期的更改,但不会为异常提供任何日志条目。

Tomcat是否以不同的方式记录异常?

HTTP 500消息提到了Tomcat日志。所以应该有一个可以发送更多信息的地方。

相应的日志目录只包含简单的访问日志以及我在Eclipse中的控制台上看到的内容。

哪个配置负责输出到控制台?

我的logging.properties看起来像这样:

handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINE
org.apache.catalina.level=FINE
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO    
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO

1 个答案:

答案 0 :(得分:1)

您正在使用日志记录实施吗?在logging.propertie中,您正在配置apache日志。要使用纯Java日志,请尝试以编程方式配置,如下所示:

        static Logger logger = Logger.getLogger(YourClass.class.getName());

        System.setProperty("java.util.logging.SimpleFormatter.format", "%4$s: [%1$tc] %5$s %n");
        //Creating consoleHandler and fileHandler
        consoleHandler = new ConsoleHandler();
        LOGGER.addHandler(consoleHandler);

        //Setting levels to handlers and LOGGER
        consoleHandler.setLevel(Level.ALL);
        consoleHandler.setFormatter(new SimpleFormatter());

        .. When you want to log, do this: 

        LOGGER.log(Level.FINE, "HELLO LOG");