gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 22:18:32 25 4
gpt4 key购买 nike

当我从 Eclipse 中启动 Tomcat 时,我会得到一个控制台,其中包含我习惯的日志信息,它们总是以 Tomcat 在 n 毫秒内启动的声明结束。

但是,无论何时发生异常,此异常的堆栈跟踪都不会显示在控制台中。我曾经能够直接从 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

最佳答案

您使用的是哪种日志记录实现?在 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");

关于java - Eclipse 控制台不显示 Tomcat 异常/堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33103949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com