我想通过log4j绑定将现有项目从直接log4j迁移到slf4j。 还有我升级的log4j的版本从1.2到2.6从log4j-1.2迁移到slf4j与log4j-2.6绑定
一些常见的代码更改为: -
1.
import org.apache.log4j.Logger;
.
.
.
private final static Logger log = Logger.getLogger(SearchXYZ.class);
成为
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
.
.
.
private final static Logger log = LoggerFactory.getLogger(SearchXYZ.class);
2。
import org.apache.log4j.Logger;
.
.
.
private static final Logger logger = Logger.getLogger(XYZ.class);
.
.
.
logger.fatal("FAILURE", throwableObject);
变得
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.Marker;
import org.slf4j.MarkerFactory;
.
.
.
private static final Logger logger = LoggerFactory.getLogger(XYZ.class);
private static Marker fatal = MarkerFactory.getMarker("FATAL");
.
.
.
logger.error(fatal, "FAILURE", throwableObject);
- 删除附加目的地。
等等。
我卡住的一个地方是配置文件。
AppConfigLog4jConfigurator.configureForBootstrap();
它给编译时错误说: - 为org.apache.log4j.spi.Configurator
类文件未找到
这是什么功能呢?什么是可能的替代品?
显然AppConfigLog4jConfigurator不是Log4j的一部分,所以你从哪里导入它?如果它是你的应用程序的类,你还应该提供它的源代码。 – Danio
我认为它只在log4j里面。 https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/Configurator.html 我不知道它是否也存在于log4j-2.x – Mike3162114
@Danio AppConfigLog4jConfigurator可能在我的组织内部,但由于上述软件包不存在,我遇到了问题。 AppConfigLog4jConfigurator扩展了Configurator接口。 – Mike3162114