繁体   English   中英

log4j 迁移到 log4j2

[英]log4j migration to log4j2

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);
    }
}

您发布的代码没有显示接受LoggerFactorygetLogger方法的使用,所以我假设您正在调用getLogger方法并将其传递给您的TraceLoggerFactory

“其他扩展机制”列在扩展 Log4j 页面上

至于如何最好地迁移您的代码,如果不了解您当前定制的目的,就不可能给出建议。 例如 - TraceLogger的目的是TraceLogger

我建议您花时间更详细地研究 log4j,并确定您是否真的需要自定义,或者是否可以使用 log4j 提供的功能。 定制会增加您的长期维护,并且只应在绝对必要时进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM