我在一个非常详细的类中有一个方法,这使得日志难以阅读。我想通过改变那个方法的级别来减少它的日志记录,让同一个类中的其他方法保持不变。这可能吗?
答案 0 :(得分:7)
您可以更改该类的级别配置,但不能更改类中的特定方法。做你想做的事的唯一方法是在该方法中使用不同的记录器,然后在不同的级别配置它。
希望这有帮助。
答案 1 :(得分:3)
您无法基于每个方法更改日志记录级别。 “记录器”是控制的最佳粒度级别。通常,记录器实例和类之间存在一对一的关系......但这取决于应用程序的编码方式。
如果您可以更改代码,我建议您为噪声方法创建特殊的记录器对象,以便您可以独立于使用现有记录器的其他代码来控制它。 (或者只是改变方法的记录器调用。)
如果您无法更改代码,则可能不得不求助于“黑客”,例如对日志文件进行后处理,或编写和配置禁止不需要的日志消息的自定义Appender
。
答案 2 :(得分:0)
我认为直接改变只有方法的记录方法
是不可能的答案 3 :(得分:-1)
这是可能的。请参阅我对OP的评论。
诀窍是创建一个自定义级别(小于TRACE)(如here中所述)并在非常详细的方法中使用该日志级别。
在该方法中,您不会将Logger快捷方式用于记录方法,但您应该使用Logger.log(Level,Object)和Logger.log(Level,Object,Thowable)方法。