gpt4 book ai didi

java - java.util.logger.setLevel() 和 handler.setLevel() 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:09:38 25 4
gpt4 key购买 nike

我在我的项目中使用了 java.util.Logger 并且我使用了一个简单的 ConsoleHandler。默认情况下,日志记录级别为“信息”。我想将级别更改为“良好”。但是,我必须同时更改 Logger 和 Handler 的级别。为什么?这有什么必要?为什么要这样设计?为什么我不能单独在 Logger/Handler 上设置级别并完成它?

最佳答案

一个Logger 可以拥有多个Handlers。例如。一个记录器可能有一个 ConsoleHandler 和一个 FileHandler,它将同时向它们转发日志事件。

LoggerHandler 可以具有不同的日志级别设置以用于过滤目的。

  • Logger.setLevel() 会将您的记录器配置为仅从一定水平。
  • Handler.setLevel() 会将您的处理程序配置为仅处理来自特定级别的记录器的日志事件。

通过这种方式,您可以使用 Logger.setLevel(INFO) 设置记录器来记录几乎所有内容。此外,您可以告诉您 FileHandler,它附加到您的“信息”记录器,仅处理至少为警告 FileHandler.setLevel(WARNING) 的日志。您 ConsoleHandler 仍会向您显示信息日志,而在您的日​​志文件中,您只会发现警告和错误。

尝试一下。非常简单。

关于java - java.util.logger.setLevel() 和 handler.setLevel() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47590989/

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