Log4j扩展了Logger

时间:2013-01-03 17:20:10

标签: java logging log4j

我扩展了Log4J Logger类并创建了一个自定义Logger类,用于决定是否记录。

我的模式布局包含%F%M参数,用于显示执行日志的类名和方法名称。

问题是,它不是显示异常调用者类和方法名,而是显示我的自定义记录器的类和方法名称!

我需要做些什么才能显示正确的信息?

1 个答案:

答案 0 :(得分:0)

您需要提供您的类作为forcedLog()方法的完全限定类名。

private static final String FQCN = MyCustomLogger.class.getName();

...

public void info(Object message) {
    if(repository.isDisabled(Level.INFO_INT))
        return;
    if(Level.INFO.isGreaterOrEqual(this.getEffectiveLevel()))
        forcedLog(FQCN, Level.INFO, message, null);
}

....

我不确定您要尝试过滤掉什么,但使用过滤器而不是扩展记录器可能会更好。

相关问题