我正在使用最终的Logger LOGGER = LoggerFactory.getLogger(clazz);获取org.slf4j的LOGGER对象。我在覆盖此类的任何默认实现方法时都遇到困难。
我正在尝试重写conrete类的非静态方法。可以说,类MyLogger {Logger LOGGER = LoggerFactory.getLogger(clazz); LOGGER.debug(“ Some message”);现在,debug方法是在LOGGER类中声明的非静态方法,已经为它提供了一些具体的实现。这里的问题是,当我尝试搜索引用时,我看到很多实现类。因此,为了覆盖调试方法,我应该怎么做
像这样更新原始类:
public class MyLogger implements Logger {
private static final Logger LOGGER = LoggerFactory.getLogger(MyLogger.class);
public static org.slf4j.Logger init(Class clazz) {
final Logger loggerOut = LoggerFactory.getLogger(clazz);
setContainerId();
LOGGER.debug("Logger is initialized for [{}].", clazz.getName());
return loggerOut;
}
public void debug(String msg, Object arg1)
{
LOGGER.debug("My message",arg1);
}
}
仍然无法获得结果。请建议我在这里想念什么?