2009-07-07 8 views
9

Sto utilizzando log4j in un'app che sto sviluppando per essere eseguito all'interno di Tomcat/JBoss, ma in questo momento lo sto eseguendo dall'interno di Eclipse. L'ho configurato per scrivere su ConsoleAppender usando un file log4j.xml e l'ho passato come proprietà di sistema, e tutto il mio output di registrazione funziona.Eliminazione dell'output di installazione log4j non necessario

Il problema è che log4j sputa fuori un mucchio di bootstrap/avvio spazzatura che non ho davvero bisogno (o voglia) di vedere. Per esempio:

log4j: Retreiving an instance of org.apache.log4j.Logger. 
log4j: Setting [CoherenceMonitor] additivity to [false]. 
log4j: Level value for CoherenceMonitor is [DEBUG]. 
log4j: Desired Level sub-class: [org.apache.log4j.Level] 
log4j: CoherenceMonitor level set to DEBUG 
log4j: Class name: [org.apache.log4j.ConsoleAppender] 
log4j: Setting property [target] to [System.out]. 
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout" 
log4j: Setting property [conversionPattern] to [%-5p %m%n]. 
log4j: Adding appender named [console] to category [CoherenceMonitor]. 

ricevo circa 20 righe di questo ogni volta che faccio funzionare il mio programma, ed è solo rumore che nasconde i dati di log che mi interessa. Quello che voglio fare è sopprimere questo output (tutto ciò che inizia con "log4j:") e includere solo l'output dalle mie dichiarazioni di registrazione.

Ho provato tutto ciò che è stato possibile trovare tramite Google e i miei colleghi, incluso l'impostazione di un valore di priorità per la categoria org.apache come mostrato di seguito. (A prescindere dalla priorità ho impostato, ho ancora l'uscita.)

<category name="org.apache"> 
    <priority value="FATAL"/> 
</category> 

Sono abbastanza novizio in configurazione log4j, e il mio è piuttosto semplice. Ho solo un appender, un logger e questa una categoria. Qualsiasi aiuto su come mantenere log4j per tenere la bocca chiusa mentre sta facendo il setup sarebbe molto apprezzato! :-)

risposta

14

Sembra il debug dal registratore stesso. Se si utilizza la configurazione XML, appare come segue:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true"> 

Trasforma il debug in falso.

+0

Um ... wow. Pensavo di aver controllato tutto, non so come mai mi sono perso. Questo è esattamente quello che era. Tuttavia, mi sento un po 'meglio sapendo che alcuni colleghi hanno esaminato il mio log4j.xml e non l'hanno nemmeno visto. Grazie! –

+0

Avevo appena passato una mezza giornata a combattere il disboscamento, altrimenti non avrei mai saputo neanche :) – javamonkey79

3

Oltre a verificare se il vostro log4j.xml ha l'attributo debug="true", anche fare in modo che non si ha il set di parametri di sistema log4j.debug (in Eclipse questo sembrerebbe nella Run Configurazione come JVM argomento con il valore di -Dlog4j.debug).

+0

Anche un eccellente suggerimento. Anche se il mio problema era nel log4j.xml, è molto utile sapere dove cercare se il problema si verifica solo in Eclipse. Grazie! –

Problemi correlati