我有以下类把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