我希望能够告诉 JVM 在执行链中的某个时刻停止记录特定级别的消息。在某些时候,我只想记录消息SEVERE
水平,所以我正在考虑这样做:
for(Enumeration<String> loggerNames = logManager.getLoggerNames(); loggerNames.hasMoreElements();){
String name = loggerNames.nextElement();
Logger nextLogger = logManager.getLogger(name);
if(nextLogger != null)
nextLogger.setLevel(Level.SEVERE);
}
是否有更清晰的方法来实现相同的逻辑,即设置一个全局变量,除非严重,否则将停止打印到日志?我需要区分控制台输出(在测试中)和实时文件输出,因此我可以在处理程序(控制台和文件)上设置这些级别?
回答我自己的问题:
这正是我所需要的:
Handler[] handlers =
Logger.getLogger( "" ).getHandlers();
for ( int index = 0; index < handlers.length; index++ ) {
handlers[index].setLevel( Level.SEVERE);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)