Java 继承log4j记录器

Java 继承log4j记录器,java,log4j,Java,Log4j,我计划用log4j one替换旧的记录器。我需要创建继承Logger的新类LocalLogger,而不是直接使用Logger。这样做的原因-我需要旧记录器中可用的新日志记录方法名称 我有log4j记录器: protected final Logger logger = Logger.getLogger(getClass()); 如何使函数以与Logger相同的方式生成LocalLogger 如何将类c传递给超级本地记录器 LocalLogger的草稿: public class LocalLo

我计划用log4j one替换旧的记录器。我需要创建继承Logger的新类LocalLogger,而不是直接使用Logger。这样做的原因-我需要旧记录器中可用的新日志记录方法名称

我有log4j记录器:

protected final Logger logger = Logger.getLogger(getClass());
如何使函数以与Logger相同的方式生成LocalLogger

如何将类c传递给超级本地记录器

LocalLogger的草稿:

public class LocalLogger extends Logger{

    protected LocalLogger(String name) {
        super(name);
    }

    public LocalLogger getLocalLogger(Class c)
    {
        return new LocalLoger(???)
    }

}

在这种情况下,我建议您不要扩展
Logger
。相反,使用

使用您想要的方法创建一个全新的类,但将日志调用委托给
记录器的内部实例

public class LocalLogger {

  private final Logger logger;

  public LocalLogger(String name) {
    logger = Logger.getLogger(name);
  }

  public LocalLogger(@SuppressWarnings("rawtypes") Class clazz) {
    logger = Logger.getLogger(clazz);
  }

  public void antiqueLoggingMethod(String msg) {
    logger.info(msg);
  }

  // etc.
}