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

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

转载于:https://www.cnblogs.com/shihaiming/p/5725500.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Log4j 2.x 的配置文件语法和结构与 Log4j 1.2 有一些区别。下面是一些主要的区别: 1. 文件名和位置:Log4j 1.2 使用 log4j.propertieslog4j.xml 文件作为配置文件,并且默认在类路径下查找。而 Log4j 2.x 使用 log4j2.propertieslog4j2.xml 文件作为配置文件,同样默认在类路径下查找。 2. 根节点名称:Log4j 1.2 的配置文件根节点名称是 `<log4j:configuration>`,而 Log4j 2.x 的配置文件根节点名称是 `<Configuration>`。 3. Appender 的配置:在 Log4j 1.2 中,使用 `<appender>` 元素定义日志输出目的地,如文件、控制台等。而在 Log4j 2.x 中,使用 `<Appenders>` 元素定义 Appender,每个 Appender 使用具体的标签(如 `<FileAppender>`、`<ConsoleAppender>`)进行配置。 4. Logger 的配置:在 Log4j 1.2 中,使用 `<logger>` 元素定义日志记录器,并通过 `additivity` 属性控制继承性。而在 Log4j 2.x 中,使用 `<Loggers>` 元素定义 Logger,每个 Logger 使用具体的标签(如 `<Logger>`、`<Root>`)进行配置,并通过 `additivity` 属性控制继承性。 5. 日志级别的配置Log4j 1.2 和 Log4j 2.x 的日志级别名称基本相同,如 DEBUG、INFO、ERROR 等。但在 Log4j 2.x 中,可以使用更细粒度的级别过滤器进行配置,如 `<ThresholdFilter>`。 6. 异步日志:Log4j 2.x 引入了异步日志功能,可以提高日志性能。在配置文件中,可以使用 `<AsyncLogger>` 和 `<AsyncRoot>` 元素对日志记录器进行异步配置。 这些是 Log4j 2.x 的配置文件Log4j 1.2 的主要区别。在升级 Log4j 版本时,需要注意配置文件的语法和结构的变化,并相应地进行调整。详细的配置文件语法和结构可以参考 Log4j 2.x 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值