Wymusza używanie slf4j do logowania

Czy mimo to można zmusić slf4j do użycia konkretnego dostawcy logowania (w moim przypadku jest to logback)? Jak w ich dokumentach:

Na ścieżce klasy znaleziono wiele powiązań

Interfejs API SLF4J ma na celu powiązanie z jedną i tylko jedną podstawową strukturą rejestrowania naraz. Jeśli na ścieżce klasy występuje więcej niż jedno wiązanie, SLF4J wyśle ​​ostrzeżenie, wymieniając lokalizację tych powiązań. Gdy na ścieżce klasy dostępnych jest wiele powiązań, wybierz jedno i tylko jedno wiązanie, którego chcesz użyć, i usuń inne powiązania. Na przykład, jeśli masz zarówno slf4j-> simple-1.6.6.jar, jak i slf4j-nop-1.6.6.jar na ścieżce klasy i chcesz użyć wiązania nop (> no-operation), usuń slf4j- simple-1.6.6.jar ze ścieżki klasy. Jeśli usunięcie powiązań superflous nie jest możliwe, SLF4J nadal będzie wiązał się z jedną strukturą / implementacją rejestrowania. Począwszy od wersji 1.6.6, SLF4J będzie nazywać klasę / klasę implementacji, do której jest faktycznie przypisany.

UWAGA Ostrzeżenie wysyłane przez SLF4J to właśnie ostrzeżenie.

W moim przypadku mamlog4j.jar, slf4j-log4j12.jar, log4j-over-slf4j.jar i wszystkie słoiki z logbackiem w ścieżce klas. Wiem, że to błądslf4j-log4j12.jar ilog4j-over-slf4j.jar razem, ale mój projekt jest bardzo duży i nie zawsze łatwo jest znaleźć i wykluczyć zależność mavenów. W tym przypadku slf4j nawet nie wydrukował żadnego ostrzeżenia, ponieważ używamy tylko konfiguracji logback. Zajęło mi dzień, aby zrozumieć to piekło w słoiku.

Chcę tylko wymusić na slf4j użycie logbacku na przykład za pomocą argumentu JVM, aby mógł drukować ostrzeżenia, a ja mogę wykluczyć słoiki w przyszłości.

questionAnswers(2)

yourAnswerToTheQuestion