Comment désactiver la journalisation log4j à partir du code Java

J'utilise un héritage de la bibliothèque qui écrit les journaux à l'aide de log4j. Mon log4j par défaut.fichier de propriétés dirige le journal de la console, mais dans certaines fonctions de mon programme principal, je voudrais désactiver la journalisation (de toutes les classes).

J'ai essayé ceci:

Logger.getLogger(BasicImplementation.class.getName()).setLevel(Level.OFF);

où "BasicImplementation" est l'une des principales catégories qui n'journalisation, mais il ne fonctionne pas - les journaux sont toujours écrites à la console.

Voici mon log4j.propriétés:

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

source d'informationauteur Erel Segal-Halevi