当我从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
答案 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");