Używam starszej biblioteki, która zapisuje logi przy użyciu log4j. Mój domyślny plik log4j.properties kieruje dziennik do konsoli, ale w niektórych określonych funkcjach mojego głównego programu chciałbym wyłączyć rejestrowanie całkowicie (ze wszystkich klas).Jak wyłączyć logowanie log4j z kodu Java
Próbowałem to:
Logger.getLogger(BasicImplementation.class.getName()).setLevel(Level.OFF);
gdzie „BasicImplementation” jest jednym z głównych klas, które nie logujących, ale to nie działa - dzienniki są nadal zapisywane na konsoli.
Oto moje log4j.properties:
log4j.rootLogger=warn, stdout
log4j.logger.ac.biu.nlp.nlp.engineml=info, logfile
log4j.logger.org.BIU.utils.logging.ExperimentLogger=warn
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-5p %d{HH:mm:ss} [%t]: %m%n
log4j.appender.logfile = ac.biu.nlp.nlp.log.BackupOlderFileAppender
log4j.appender.logfile.append=false
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern = %-5p %d{HH:mm:ss} [%t]: %m%n
log4j.appender.logfile.File = logfile.log
Jest prawdopodobne, że trzeba wyłączyć rejestrator korzeniowy, ale należy najpierw wysłać 'log4j.properties' /' log4j.xml'. – MaDa
OK, wysłałem to –