Come si filtrano i messaggi di registro da framework esterni di terze parti? Sto usando Hibernate e il framework Spring e vorrei eliminare i log in modo che vengano visualizzati solo i log di log4j.Filtraggio dei messaggi log4j da framework di terze parti?
risposta
Nei miei log4j.properties il file ho impostato il livello di registrazione logger principale per errore. Quindi per i pacchetti che voglio specificamente registrare, come il mio codice applicazione, ho impostato il livello di registrazione su INFO o DEBUG.
log4j.rootLogger=ERROR, stdout
log4j.logger.com.initech.tps=DEBUG
log4j.logger.org.hibernate.SQL=INFO
vedo collaboratori che impostare la registrazione radice basso e poi finiscono per messa in vendita di tutto ciò che non vogliono vedere, che sembra solo indietro per me. Vorrei piuttosto elencare ciò che voglio registrare di tutte le cose che non voglio registrare.
BTW disattivare completamente la registrazione per un componente di terze parti mi sembra una cattiva idea. Ad esempio, Spring è relativamente rumoroso e utilizza WARN per cose di cui non ho davvero bisogno di sapere, ma se registra una voce di ERRORE per qualcosa voglio vederla.
Semplicemente non aggiungere questi pacchetti nel file log4j.properties. Ad esempio, devi avere questo per Spring nel tuo file delle proprietà. Toglilo se hai delle voci come sotto (qualsiasi cosa inizi con org.springframework). Lo stesso deve essere fatto per l'ibernazione.
#Logs the SQL from Spring
log4j.logger.org.springframework.jdbc.core.JdbcTemplate=ERROR
#Logs the SQL parameters from Spring
log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=ERROR
Inoltre, come è stato menzionato, si dovrebbe anche impostare quanto segue. Ho dimenticato di dirlo.
log4j.rootLogger=FATAL
or
log4j.rootLogger=ERROR
È il contrario. Generalmente il logger root abilita tutto e devi quindi disattivare quelli che non vuoi. Da qui il = ERRORE in modo che tutti a livelli inferiori non mostrano. –
@ Thorbjørn Ravn Andersen: Si prega di leggere quello che ho detto. Ho detto a OP di portarli fuori se lui ha una di queste voci dal momento che non voleva vedere alcun messaggio da quei pacchetti. – CoolBeans
Mettere le linee simili a quelle in, impedirà la registrazione del messaggio di debug o info per quei pacchetti, anche se per il rootLogger è stato definito il debug/info. –
In log4j.properties è possibile definire singoli livelli su una base per logger:
log4j.logger.<name>=FATAL
Nel log4j.xml la sintassi è
<logger name="<name>">
<level value="fatal"/>
</logger>
<nome> è spesso il pieno nome di classe qualificato. È possibile utilizzare WARN o ERROR anziché FATAL
È possibile farlo modificando il livello di registrazione nel file log4j.properties/log4j.xml.
È necessario impostare il logger <level value="off"/>
se si desidera filtrare i registri dal pacchetto ma mantenere la configurazione del logger per un uso successivo. È anche possibile impostarlo sul livello più alto per accedere solo in caso di errore o di problemi irreversibili.
seguenti voci dovrebbero essere aggiunti alla log4j.xml per disattivare la registrazione da Hibernate e Spring Framework pacchetti:
<logger name="org.springframework">
<level value="off"/>
</logger>
<logger name="org.hibernate">
<level value="off"/>
</logger>
quindi è possibile impostare il level off per il pacchetto genitore come in questo caso se non voglio che i log di tutti i pacchetti inizino con org.springframework, imposterò il suo livello come off. – YoK
- 1. Raccolta di messaggi da app di terze parti in Django
- 2. Applicazione dei metodi di terze parti virtualità
- 3. Come collegarmi a un framework Swift di terze parti
- 4. Importazione di framework di terze parti in "SupportCode.swift" di Playground
- 5. resignFirstResponder() in tastiere di terze parti
- 6. Override di terze parti JS
- 7. Java - Attendi il completamento dei thread di terze parti
- 8. Ruby, Qt e widget di terze parti
- 9. COM surrogato per componente di terze parti
- 10. oggetti di valore mappatura da librerie di terze parti
- 11. Utilizzare il framework di terze parti che è incorporato nel framework dinamico
- 12. Come si disabilita l'accesso ad Apache Commons/Log4J in librerie di terze parti?
- 13. yii2 linguaggio dei messaggi di framework
- 14. macdeployqt e librerie di terze parti
- 15. JS di terze parti in Angular2 typescript
- 16. JavaScript e cookie di terze parti
- 17. Django's I18N con app di terze parti
- 18. WCF - Autenticazione applicazione di terze parti
- 19. Gestione delle dipendenze interne di terze parti
- 20. Filtraggio dei messaggi utilizzando le categorie in Jekyll-Bootstrap
- 21. Iniezione JavaScript su pagine di terze parti
- 22. Librerie di terze parti in CMake
- 23. Libreria di terze parti con carosello Android
- 24. Come pacchettizzare 2 dll di terze parti
- 25. Come ottenere cookie di terze parti?
- 26. iOS8 UIKeyboardWillShowNotification Altezza tastiera di terze parti
- 27. come riattivare ID di registrazione e inviare messaggi a un'applicazione di terze parti in Android c2dm0 +
- 28. dotPeek Problema di debug di terze parti .dll
- 29. Creazione di un framework iOS: incluse librerie e codice di terze parti
- 30. Tracciamento del codice di terze parti con Git
+1 per i riferimenti a Office Space –