Nella documentazione per slf4j si dice che il legame avviene durante complie tempo:.Come si lega slf4j all'implementazione? Lo fa davvero durante la compilazione?
"SLF4J non si basa su alcun macchine speciali class loader In effetti, ogni legame è cablato al momento della compilazione SLF4J di usare una e una sola Per esempio, l'associazione slf4j-log4j12-1.7.5.jar è vincolata al momento della compilazione per usare log4j. Nel tuo codice, oltre a slf4j-api-1.7.5.jar, puoi semplicemente eliminare uno e solo un legame a tua scelta sul percorso del percorso di classe appropriato.Non inserire più di una rilegatura sul percorso della classe.Qui è un'illustrazione grafica dell'idea generale. " http://www.slf4j.org/manual.html
Come funziona?
Che importa se ho più di uno StaticLoggingBinder nello stesso package (org.slf4j.impl)? Ad esempio, ho slf4j-log4j12.jar e logback-classic.jar nello stesso progetto, quale sarà il binding? –
Probabilmente un po 'casuale - ma immagino che verrà usato quello per primo sul classpath (o forse l'ultimo ...) –
Sì, sono d'accordo con te. –