在处理程序或记录器中设置日志记录级别?

在处理程序或记录器中设置日志记录级别?

问题描述:

我第一次使用Java Logger,发现可以通过handler.setLevel(...)logger.setLevel(...)设置日志级别。虽然我似乎无法找到区别。有区别吗?如果有的话,推荐的方法是什么?在处理程序或记录器中设置日志记录级别?

记录器与特定的类相关联。但是,您可以有多个与该记录器关联的处理程序。如果您设置'''处理程序级别而不是记录器级别,则只需确保设置正确的处理程序。除非您使用多个处理程序,并且在日志记录中需要精细的粒度级别,否则最好是仅调整记录程度并将处理程序单独处理。

检出this article.它很好地描述了处理程序和记录器如何协同工作。

+0

非常感谢,这确实是一个彻底的解释,你链接到那里。比我找到的更好。我甚至没有考虑使用不同级别的多个处理程序。这确实很有意义。事实上,我只是实现了这一点,所以控制台只显示警告,而loggile记录信息。另外,为了增加你的回复,我现在发现没有在处理程序中设置级别的一个很好的理由是默认处理程序仍然会捕获info +。 – janb 2009-12-02 14:45:01