Nie ma możliwości użycia prostej funkcji slf4j do ustawienia poziomu Logger, ponieważ slf4j jest po prostu interfejsem API fasady/routingu.
Trzeba by polegać na realizacji podstawowych rejestrowania, aby ustawić poziom rejestrowania na przestrzeni nazw „org.eclipse.jetty” takich jak:
przypadku korzystania slf4j-simple.jar i SimpleLogger, wtedy nie można ustawić poziomu programowo, tylko za pośrednictwem właściwości systemu po zainicjowaniu SimpleLogger, co jest bardzo wczesnym etapem JVM.
Jeśli używasz slf4j-log4j.jar, użyj Log4j specific techniques.
org.apache.log4j.LogManager.getLogger("org.eclipse.jetty").setLevel(Level.WARN);
- przypadku korzystania SLF4J-jdk14.jar użyć technik java.util.logging.
java.util.logging.LoggerFactory.getLogger("org.eclipse.jetty").setLevel(Level.WARNING);
- W przypadku korzystania logback.jar, rzucić Logger slf4j do logback Logger a następnie ustaw poziom.
final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("org.eclipse.jetty");
if (!(logger instanceof ch.qos.logback.classic.Logger)) {
return;
}
ch.qos.logback.classic.Logger logbackLogger = (ch.qos.logback.classic.Logger) logger;
logbackLogger.setLevel(ch.qos.logback.classic.Level.WARN);
Dlaczego warto unikać pliku XML/właściwości? Są dobrym sposobem na manipulowanie poziomami dziennika. Podejście programistyczne do tego jest złe, ponieważ musiałbyś przekompilować, aby zmienić poziom logu !!!!! – SSR
Chyba że zaimplementujesz jakiś sposób, aby użytkownik sam zmienił poziom, za pomocą GUI lub TUI? Nie możesz powiedzieć w taki czy inny sposób, co programista powinien ZROBIĆ, chyba że wiesz, JAK zamierzają go użyć. – Fallso