Log4j迁移指南
https://logging.apache.org/log4j/2.x/manual/migration.html
说明
调用接受LoggerFactory的org.apache.log4j.Logger.getLogger必须删除org.apache.log4j.spi.LoggerFactory并使用Log4j 2的其他扩展机制之一。
log4j2中有哪些扩展机制,以及如何在log4j2中最好地迁移如下方法
private static TraceLoggerFactory stTraceFactory = new TraceLoggerFactory();
public static Logger getTraceLogger(final String name) {
return getLogger(name, stTraceFactory);
}
class TraceLoggerFactory implements LoggerFactory {
@Override
public Logger makeNewLoggerInstance(final String name) {
return new TraceLogger(name);
}
}
答案 0 :(得分:2)
您发布的代码未显示使用接受getLogger
的{{1}}方法,因此我假设您正在调用LoggerFactory
方法并将其传递给您{ {1}}。
Extending Log4j page上列出了“其他扩展机制”。
就如何最好地迁移代码而言,如果不了解当前自定义的目的,则无法提供建议。例如 - getLogger
的目的是什么?
我建议您花点时间更详细地研究log4j,并确定您是否真的需要自定义,或者是否可以使用log4j提供的功能。定制可以增加您的长期维护,只有在绝对必要时才能完成。