Mam następujące klasyUmieszczenie Logger.info w bloku statycznego
public class MyClass
{
private static final Logger logger = Logger.getLogger(MyClass.class);
static
{
logger.info("some text");
}
}
Czy można bezpiecznie założyć, że zanim dotrzemy logger.info
system log4j jest zainicjowana i jest gotowy do wysyłania logów?
Wygląda na to, że jeśli jestem w stanie wykonać Logger.getLogger()
i odzyskać poprawną instancję programu Logger, oznacza to, że Log4j jest zainicjowany, prawda?
Wygląda na to, że przy korzystaniu z SLF4j nie ma gwarancji, że log4j jest również gotowy. – Timo
@Timo Nie, nie jest, przynajmniej nie z samym pakietem slf4j-api. Potrzebujesz pakietu z klasą StaticLoggerBinder; na przykład slf4j-log4j12. – MaDa
A jeśli masz slf4j-log4j12 na ścieżce klas, czy jest to zagwarantowane? – Timo