Ho la seguente situazione. Devo essere in grado di eseguire due programmi lanciati da diversi file batch in cui ogni file batch richiama una classe java con main() dallo stesso jar. Vorrei che ogni programma avesse il proprio registro. Tuttavia, il secondo programma è un programma di installazione per il primo e, pertanto, non desidero/non posso facilmente specificare -Dlogback.configurationFile =/percorso/su/file di configurazione poiché tale posizione potrebbe non esistere ancora.Come specificare una configurazione di logback come risorsa del classpath piuttosto che un file
Logback documentation seems to provide a solution ma ho bisogno di un esempio di come farlo funzionare:
Specificare la posizione del file di configurazione di default come un sistema proprietà
Se lo si desidera, è possibile specificare la posizione di il file di configurazione di default con una proprietà di sistema denominata logback.configurationFile. Il valore di questa proprietà può essere un URL, una risorsa sul percorso classe o un percorso in un file esterno all'applicazione.
java -Dlogback.configurationFile =/path/to/config.xml chapters.configuration.MyApp1
Qualcuno mi può indicare un esempio in cui logback.configurationFile è definito come una risorsa nel classpath come opposto al file system?
Se è solo il file di registro che si desidera modificare, perché non definire il file di registro come variabile in un singolo file di configurazione logback.xml. Ciò è particolarmente buono se la maggior parte della configurazione di registrazione è la stessa. Quindi il nome del file di log può essere letto da una risorsa nel classpath o essere parte del richiamo dell'installatore. – andygavin