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