Sto usando apache.commons.logging, per ora volevo usare l’implementazione di SimpleLog, ma quando ho cambiato il livello, i logger delle librerie escono. Voglio che lo spenga. C’è un modo semplice per cambiare il livello di registro per l’intero pacchetto (può fare log4j farlo)?
Ho provato a impostare
org.apache.commons.logging.simplelog.log.foo = fatale
- file delle proprietà commons-logging e log4j
- Il plug-in personalizzato non viene rilevato in EAR con l'API log4j2
- Registrazione Java: mostra il numero della riga di origine del chiamante (non il metodo di supporto della registrazione)
- Regola il livello di registrazione per la registrazione di apache commons?
- Come usare log4j 2.0 e slf4j e Commons Logging insieme
nei file di proprietà simplelog da disabilitare (l’impostazione su fatal è OK) foo logger, ma non funziona. (foo è un nome del logger che appare in output: [INFO] foo – Message).
In Log4j è ansible specificare un livello di registrazione per il pacchetto, la class o il logger specificati identificati da una stringa. Basta semplicemente scrivere questo nel file log4j.properties:
log4j.logger. = DEBUG|INFO|OFF|WARN...
Dovresti usare:
log4j.logger.foo = OFF
Si noti che “foo” non ha bisogno di essere un pacchetto, o una class, ma è una stringa arbitraria. Ad esempio abbiamo un logger chiamato “SQL” che viene chiamato da molte classi.
Se si utilizza Spring Boot, è ansible impostare su OFF
nel file application.properties. Esempio:
logging.level.org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer=OFF
L’uso di SimpleLog da Commons Logging richiede due file di configurazione, a meno che non si stiano utilizzando alcune proprietà di sistema. I file sono: commons-logging.properties e simplelog.properties. Le proprietà del livello di log che hai indicato devono essere inserite in simplelog.properties come:
org.apache.commons.logging.simplelog.log.foo=warn
dove “foo” è il nome del logger. In genere, questo è il pacchetto o il pacchetto e il nome della class. Nell’esempio seguente, tutto il pacchetto com.stackoverflow.utils è impostato su info mentre com.stackoverflow.servlet.Dispatcher è impostato in modo specifico per avvisare :
org.apache.commons.logging.simplelog.log.com.stackoverflow.utils=info org.apache.commons.logging.simplelog.log.com.stackoverflow.servlet.Dispatcher=warn
Il file commons-logging.properties dovrebbe contenere:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
Documentazione qui e qui .