我有以下類把Logger.info靜態塊
public class MyClass
{
private static final Logger logger = Logger.getLogger(MyClass.class);
static
{
logger.info("some text");
}
}
它是安全的假設,通過我們到達logger.info
時,log4j的系統初始化並準備發出日誌?
看來,如果我能夠做一個Logger.getLogger()
並取回一個有效的記錄器實例,這意味着Log4j被初始化,對吧?
看來,在使用SLF4j時,不能保證log4j也準備好。 – Timo
@Timo不,它不是,至少不是單獨使用slf4j-api包。你需要一個包含StaticLoggerBinder類的包;例如slf4j-log4j12。 – MaDa
如果你在類路徑上有slf4j-log4j12,那麼它是有保證的嗎? – Timo