Tengo la siguiente clasePoner Logger.info en bloque estático
public class MyClass
{
private static final Logger logger = Logger.getLogger(MyClass.class);
static
{
logger.info("some text");
}
}
¿Es seguro asumir que por el momento en que llegan logger.info
, el sistema log4j se inicializa y está listo para emitir registros?
Parece que si puedo hacer un Logger.getLogger()
y recuperar una instancia válida de Logger, significa que Log4j está inicializado, ¿no?
Parece que al usar SLF4j, no se garantiza que log4j también esté listo. – Timo
@Timo No, no lo es, al menos no con el paquete slf4j-api solo. Necesita un paquete con una clase StaticLoggerBinder; por ejemplo slf4j-log4j12. – MaDa
Y si tiene slf4j-log4j12 en classpath, ¿está garantizado entonces? – Timo