繁体   English   中英

如何将java.util.logging重定向到文件?

[英]How to redirect java.util.logging to a file?

我有一个使用外部库的java程序。 主程序使用log4j记录其消息,库使用java.util.logging

我的问题是来自外部库和主程序的日志消息在控制台中混合。

我想将来自外部库的所有日志消息重定向到文件。 我尝试使用logging.properties文件执行此操作:

handlers= java.util.logging.FileHandler
.level= INFO
java.util.logging.FileHandler.pattern = foo.log
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

该文件初始化为:

System.setProperty("java.util.logging.config.file", "logging.properties");

不幸的是,来自外部库的日志消息不断出现在控制台中。 我应该使用像slf4j这样的东西拦截来自java.util.logging日志消息吗?

感谢您的时间。

这是我的一个程序中的一些代码。 这也可以自动旋转。 配置类是我自己的,从属性文件中读取。 您可以用自己的值替换它。

Logger rootLogger = Logger.getLogger(""); 
logHandler = new FileHandler(config.getLogFile(), 
                             config.getLogRotateSize()*1024*1024, 
                             config.getLogRotateCount(), false); 
logHandler.setFormatter(new SimpleFormatter()); 
logHandler.setLevel(Level.INFO); 
rootLogger.removeHandler(rootLogger.getHandlers()[0]); 
rootLogger.setLevel(Level.INFO); 
rootLogger.addHandler(logHandler); 

请注意,这是一个独立的程序。 任何应用程序服务器都有自己的日志记录配置工具。 如果需要动态调试模式,程序还可以动态更改格式化程序和级别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM