Log4j配置并观看无法正常工作

时间:2011-09-19 09:32:30

标签: java log4j

我在我的应用程序中使用log4j进行登录。从现在开始配置日志记录我使用以下代码:

LogManager.resetConfiguration();
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("log4j.properties"); 
Properties props= new Properties();
props.load(stream);
PropertyConfigurator.configure(props);

但问题是,每当我想在此过程中更改日志记录级别时,我必须重新启动服务器。所以我将代码更改为: -

LogManager.resetConfiguration();
PropertyConfigurator.configureAndWatch(("log4j.properties", 900000L);

理想情况下,这段代码应该有助于在指定的时间后重新加载log4j.properties文件,我已经提到过15分钟。但是代码仍无效

我在代码中错过了什么吗?

问候。

2 个答案:

答案 0 :(得分:7)

configureAndWatch()观看文件。不是类路径中的资源。

答案 1 :(得分:1)

我尝试了解决方案并且工作正常!关键是你必须像文件一样提供不像资源的路径。

//Resource
DOMConfigurator.configureAndWatch("/log4j.xml", 2000L);

//File
DOMConfigurator.configureAndWatch("./src/log4j.xml", 2000L);

尝试第二个选项并修改 log4j.xml 并测试它!