首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

Log4j,兑现加载自定义log4j.xml配置文件,并实现动态监听log4j.xml日志级别更新

2013-07-01 
Log4j,实现加载自定义log4j.xml配置文件,并实现动态监听log4j.xml日志级别更新????在实际开发项目中,大部

Log4j,实现加载自定义log4j.xml配置文件,并实现动态监听log4j.xml日志级别更新

?

?

?

?

在实际开发项目中,大部分产品的日志级别是ERROR级别的,因为这样可以提升系统运行效率,也可以防止INFO日志过多,日志文件很快被写满,以至于系统不能保存长时间的日志。进而造成定位问题不方便。

?

但是在ERROR级别下可能无法看到系统运行的详细日志信息。有时候需要查看INFO日志。所以最好有一种方法可以在系统运行过程中,动态修改日志级别。

?

实现动态修改日志级别,有两种办法:

?

1、利用Log4j提供的类和方法

2、自己实现监控log4j.xml文件更新,并实现动态配置更新。

?

?

?

?

?

?

?

一、利用Log4j提供的动态配置更新方法实现动态修改日志级别。

调用PropertyConfigurator或者DOMConfigurator类的configureAndWatch(String configFileName)或者configureAndWatch(String configFileName,long delay)

?

?

走读Log4j?DOMConfigurator类configureAndWatch方法源码,发现只要是调用configureAndWatch()方法,Log4j就会启动一个线程,根据入参delay或者默认的1分钟时间周期扫描指定的log4j.xml文件的更新情况,如果发现有更新则重新加载log4j.xml配置。

?

代码示例:

在D盘,Log4j文件夹下创建log4j.xml文件。内容如下:

?

?运行LogConfigurator的main方法,并随时修改D:\log4j\log4j.xml文件中定义的日志级别。

<level value="info" />

观察控制台打印的日志级别。

?

热点排行