我想通過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