2010-01-13 99 views
0

我想知道如何编程关闭Java记录 - 无属性文件,没有命令行参数等如何以编程方式停止java.util.logging?

我已经试过:

final Properties logProperties = new Properties(); 
logProperties.put("handlers", "java.util.logging.MemoryHandler"); 
logProperties.put(".level", "SEVERE"); 
logProperties.put("java.util.logging.ConsoleHandler.level", "SEVERE"); 

final ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
logProperties.store(bytes, applicationName); 
new String(bytes.toByteArray()); 
LogManager.getLogManager().readConfiguration(new ByteArrayInputStream(bytes.toByteArray())); 

但第三方库(飞碟)不管我做什么,都会继续记录所有消息。

它在生产中并不重要,但是在我的IDE中让这些控制台消息在整个节目中都非常烦人。 (在未来的时候,我将重定向到另一日志框架...)

回答

3
System.setProperty("show-config", "OFF"); 
System.setProperty("xr.util-logging.plumbing.layout.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.config.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.load.xml-entities.level", 
     "OFF"); 
System.setProperty("xr.util-logging.plumbing.init.level", "OFF"); 
System.setProperty(
     "xr.util-logging.java.util.logging.ConsoleHandler.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.exception.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.match.level", "OFF"); 
System.setProperty("xr.util-logging..level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.cascade.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.load.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.css-parse.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.render.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.level", "OFF"); 
System.setProperty("xr.util-logging.plumbing.general.level", "OFF"); 

(每https://xhtmlrenderer.dev.java.net/servlets/ReadMsg?list=users&msgNo=142

0

到尤瓦的回答相似:

System.setProperty("xr.util-logging.loggingEnabled", "false") 

这适用于XR (努力),但我真的在寻找神奇的关闭所有日志记录(虽然这对我来说很好...)