我在我的项目中使用java.util.Logger,并且使用简单的ConsoleHandler。默认情况下,日志记录级别为“信息”。我想将关卡更改为' Fine'。但是,我不得不改变Logger和Handler的级别。为什么?这有什么需要?为什么这样设计?为什么我不能单独在Logger / Handler上设置级别并完成它?
答案 0 :(得分:2)
Logger
可拥有多个Handlers
。例如。记录器可能会有ConsoleHandler
和FileHandler
,它会同时转发日志事件。
Logger
和Handler
可以使用不同的日志级别设置进行过滤。
Logger.setLevel()
会将您的记录器配置为仅从a登录
一定程度。 Handler.setLevel()
会将您的处理程序配置为
仅处理来自特定级别的记录器的日志事件。通过这种方式,您可以使用Logger.setLevel(INFO)
设置记录器以记录几乎所有内容。
此外,您可以告诉您FileHandler
,它附加到您的“信息”记录器,仅处理至少是警告FileHandler.setLevel(WARNING)
的日志。您ConsoleHandler
仍会显示信息日志,您在日志文件中只能找到警告和错误。
试一试。这很简单。