Samudra Gupta spiega nel suo libro 1 :
L' Logger
oggetto è l'oggetto principale che uno sviluppatore di applicazioni utilizza per registrare qualsiasi messaggio. Gli Logger
oggetti che agiscono all'interno di una particolare istanza di un'applicazione seguono una gerarchia padre-figlio .
Se hai la seguente configurazione:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.logger.com.me.proj2=INFO
Ecco come potrebbe apparire la gerarchia del logger: 2
Samudra Gupta continua a spiegare:
In cima alla gerarchia esiste un logger di root. Il logger root esiste al di fuori dell'ambito di qualsiasi gerarchia di logger personalizzato che possiamo creare. Esiste sempre come root logger per tutte le possibili gerarchie di logger e non ha spazio dei nomi. Tutti gli altri Logger
oggetti specifici dell'applicazione sono oggetti figlio per il logger principale. La relazione genitore-figlio dei logger indica la dipendenza dei logger che agiscono all'interno della stessa applicazione. Un logger figlio può ereditare le proprietà dal logger genitore in modo ricorsivo verso l'alto nell'albero. In genere, un logger figlio erediterà le seguenti proprietà dai logger principali:
Level
: Se il logger secondario non ha un livello albero esplicito specificato, utilizzerà il livello del suo genitore più vicino o il primo livello appropriato che trova ricorsivamente in alto nella gerarchia.
Appender
: Se non è presente alcun appender collegato a un logger, il logger secondario utilizza l'appender del logger principale più vicino o il primo appender che trova ricorsivamente in alto nell'albero.
ResourceBundle
: ResourceBundles
sono file delle proprietà del pattern chiave-valore utilizzati per la localizzazione dei messaggi di registrazione. Un logger figlio eredita qualsiasi logger ResourceBundle
associato al suo logger padre.
APPUNTI
1 Samudra Gupta, Pro Apache Log4j, seconda edizione (Berkeley, CA: Apress, 2005), 24-25, ISBN13: 978-1-59059-499-5
2 Dominic Mitchell, Logging in Java , http://happygiraffe.net/blog/2008/09/03/logging-in-java/ , Estratto il 26 maggio 2014.