我有2个appenders - A,B。 默认情况下,我希望所有邮件都转到B.如果邮件的级别为> =错误或,则来自com.mycomp。* logger,我希望它转到A。
我试图弄清楚log4j 1.2中是否可以进行此配置。到目前为止似乎没有。
修改以澄清,这里有关于Logback logback: Two appenders, multiple loggers, different levels
的完全相同的问题答案 0 :(得分:0)
可以使用过滤器完成:
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;
不幸的是,you can only specify filters in log4j.xml and not in log4j.properties.