Log4j-这种配置可能吗?
我有两个附录-A,B。 默认情况下,我希望所有消息都转到B。如果消息的级别>=错误,或者它来自com.mycop.*记录器,我希望它转到A 我试图弄清楚这种配置在log4j1.2中是否可行。到目前为止似乎不是这样Log4j-这种配置可能吗?,log4j,Log4j,我有两个附录-A,B。 默认情况下,我希望所有消息都转到B。如果消息的级别>=错误,或者它来自com.mycop.*记录器,我希望它转到A 我试图弄清楚这种配置在log4j1.2中是否可行。到目前为止似乎不是这样 编辑:为了澄清,这里有一个完全相同的关于回登录的问题,可以使用过滤器来完成: public class MyLogFilter extends Filter { @Override public int decide(LoggingEvent loggingEvent)
编辑:为了澄清,这里有一个完全相同的关于回登录的问题,可以使用过滤器来完成:
public class MyLogFilter extends Filter {
@Override
public int decide(LoggingEvent loggingEvent) {
if (!loggingEvent.getLevel().isGreaterOrEqual(Level.ERROR) &&
!loggingEvent.getLoggerName().startsWith("com.mycomp")) {
return DENY;
}
return NEUTRAL;
}
}
和配置类似
log4j.rootLogger=(INFO, A, B);
log4j.logger.com.mycomp=(INFO, A);
log4j.appenders.A.filter.a=com.mycomp.MyLogFilter;
不幸的是,是的。您是对的,将同一个包设置为不同的错误级别/追加器会覆盖另一个包。因此,我建议以编程方式添加appender。