gpt4 book ai didi

java - 如何使用记录器打印异常?

转载 作者:太空狗 更新时间:2023-10-29 22:38:07 25 4
gpt4 key购买 nike

我有一种情况,我想使用记录器打印在 catch block 中捕获的所有异常。

 try {
File file = new File("C:\\className").mkdir();
fh = new FileHandler("C:\\className\\className.log");
logger.addHandler(fh);
logger.setUseParentHandlers(false);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
} catch (Exception e) {
logger.info(e);
}

我得到错误记录器不能应用于 java.io.Exception...

我担心的是,如果我在 try block 中做了这么多事情,而我只保留一个 catch block 作为 catch(Exception e),那么有什么方法可以使用 logger 来打印 catch block 中捕获的任何类型的异常?注意:我们使用的是 java.util.logging.Logger API

最佳答案

您可能应该弄清楚您使用的是哪个记录器。

org.apache.commons.logging.Log 接口(interface)有方法 void error(Object message, Throwable t) (和方法 void info(Object message, Throwable t)),它记录堆栈跟踪和您的自定义消息。 Log4J 实现也有这个方法。

所以,您可能需要这样写:

logger.error("BOOM!", e);

如果您需要使用 INFO 级别记录它(尽管这可能是一个奇怪的用例),那么:

logger.info("Just a stack trace, nothing to worry about", e);

希望对您有所帮助。

关于java - 如何使用记录器打印异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15805460/

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