È possibile configurare il logback per registrare ad es. Livello WARN o INFO per tutti i pacchetti tranne x.y? E quindi separare la configurazione solo per il pacchetto x.y.Come configurare il logback per il pacchetto?
21
A
risposta
33
Io non conosco alcun modo è possibile ottenere il "NOT" aspetto pacchetto della tua domanda, ma io abitualmente accedo un unico pacchetto a DEBUG e tutto il resto a INFO e ... sopra è vero ... WARN ed ERRORE. Questo è il ritorno logico. I miei logger sono tutti come ...
package rekdev.org.service.api;
public class DefaultConfigResource {
// ...
private static final Logger log = LoggerFactory.getLogger(DefaultConfigResource.class);
// ...
}
... su una configurazione logback.xml come ...
<logger name="rekdev.org.service.api" level="debug" />
...
<root level="info">
<appender-ref ref="STDOUT" />
<appender-ref ref="DAILY_ROLLING" />
<appender-ref ref="SYSLOG" />
</root>
ha l'effetto di più in uscita saltar fuori a INFO, WARN, ERROR ma tutte le classi rekdev.org.service.api. Tutte le classi nel pacchetto rekdev.org.service.api producono output su DEBUG, INFO, WARN, ERROR.
Oppure ho frainteso completamente le vostre domande?
Un programma di registrazione deve sempre essere "* static * final" (condiviso tra tutte le istanze della classe registrata) poiché è troppo costoso disporre di un'istanza di registrazione separata per ogni istanza della classe registrata. – Alex
Lo avresti nell'annotazione su JavaConf? http://stackoverflow.com/questions/36999436/creating-a-logger-on-a-logback-java-based-no-xml-configuration – Stephane