Log4j - 仅过滤当前项目的日志

时间:2010-11-11 14:37:49

标签: java log4j filtering

拥有log4j.properties文件,其记录超出我的预期,特别是它记录Spring库的事件。
并且只需要过滤项目特定事件。

是否有一些过滤参数,指定应记录哪些类(项目或命名空间)?

谢谢。

3 个答案:

答案 0 :(得分:5)

是,创建一个使用包名称的记录器条目。

log4j.logger.com.my.package=INFO

将appender设置为更详细的设置,并将根appender设置为更高级别,如ERROR或WARN。

log4j.rootLogger=ERROR, stdout

请参阅此帖子:Log4j | Updating the Log Level for the Appender

答案 1 :(得分:2)

来自log4j手册:

# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN

com.foo替换为想要忽略的值,并将日志记录级别设置为某个较高的值,例如WARNERROR

答案 2 :(得分:0)

我找到了另一种方法。

我遇到的问题是,当我使用等级 DEBUG 或更高版本时,我在项目中使用的libs正在进入控制台。 正确配置项目会更好,但您可以通过禁用特定包的记录器来实现。

在下面的代码段中,所有以 org。* 开头的软件包都被禁用。 这份工作对我而言。 在手册中找到了这个:http://logging.apache.org/log4j/1.2/manual.html

log4j.rootLogger=INFO, stdout

# Disables logger for all org.* packages
log4j.logger.org=OFF