log4j用properties文件配置,无法应用过滤器的解决方法

本文介绍了在使用log4j 1.2.16版本时遇到的问题,即无法通过properties文件配置LevelRangeFilter进行日志等级过滤。文章指出PropertyConfigurator不支持此特性,并推荐使用XML配置方式解决该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用的log4j版本是1.2.16,在自定义Appender的时候需要用的过滤器来过滤某一区间等级的日志信息。然而配置很久properties文件仍然有错误

log4j:WARN Failed to set property [filter] to value "org.apache.log4j.varia.LevelRangeFilter".
log4j:ERROR Could not instantiate class [FATAL].

后来我在国外论坛上找到了答案

The PropertyConfigurator does not handle the advanced configuration features supported by the DOMConfigurator such as support for Filters, custom ErrorHandlers, nested appenders such as the AsyncAppender, etc.

 

翻译如下:

PropertyConfigurator 不能处理那些DOMConfigurator支持的高级配置功能,例如过滤器支持、自定义错误处理器、嵌套Appender(例如AsyncAppender)等等

 

看来xml配置才是log4j的王道。果然换了xml配置就可以使用了。

参考地址:http://stackoverflow.com/questions/1257641/cant-set-levelrangefilter-for-log4j

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值