【问题标题】:Logger API Threads Exceptions [closed]记录器 API 线程异常 [关闭]
【发布时间】:2011-12-18 01:08:10
【问题描述】:

我们什么时候应该使用 Logger API?

例如,在线程中的 InterruptedException 上 - 我们应该按照这些思路进行操作吗?

catch (InterruptedException ex) {
     Logger.getLogger(class1.class.getName()).log(Level.SEVERE, null, ex);
}

谢谢

【问题讨论】:

  • 这确实有道理,因为我是新手,是的,我已经基于 Google 进行了研究。这只是一个问题,看看有没有这方面的知识的人可以给我解释一下。我不明白你为什么将我的问题标记为负 1。

标签: java multithreading exception-handling concurrency


【解决方案1】:

日志用于调试程序和替换打印语句。它们不应取代需要在更高级别处理的异常。但是它们可能伴随着异常(例如,如果您需要重新抛出异常,常见的做法可能是将异常记录到错误日志文件中,然后让应用程序崩溃或将异常作为运行时异常重新抛出)。

日志记录基本上有 3 种主要用途:

1) 在您编写应用程序时跟踪应用程序的执行,例如,第一次(即,当您进行原型设计以最终生成不吐出 System.out 语句的生产应用程序时)到处都是),并查看输出 - 在构建它时,您在 DEBUG 级别添加日志语句(而不是打印语句)。在生命周期的这个时候,您的应用程序可能会将所有日志打印到控制台。

2) 通常查看状态更新或将状态更新流式传输给用户或文件,以便您可以确保您的应用程序在执行期间通常处于正确的“状态”。在这种情况下,您的记录器可能会有不同的级别(信息、错误、调试......)。错误消息可能会打印到控制台,而其他消息可能会转储到文件中,或者可能完全忽略。

3) 调试损坏的应用程序。在这种情况下,您可能会再次更改日志记录的设置以将所有内容打印到控制台,或者至少将所有日志转储到文件中,以便您可以看到正在发生的事情。

最后一点:更常见的是拥有一个已经集中配置的 Logger 工厂,而不是在需要记录语句时简单地获取一个静态记录器。

【讨论】:

    猜你喜欢
    • 2020-06-01
    • 1970-01-01
    • 2016-11-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    相关资源
    最近更新 更多