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
Vous devez vous connecter pour publier un commentaire.
Donc, vous avez 3 enregistreurs définies, y compris la racine:
Malheureusement, pour les désactiver par programmation, vous devez spécifier TOUTES dans le code:
Voici comment réinitialiser le dos à ce qui est défini dans le fichier de configuration.
Si vous voulez atteindre un parfait silence (comme pour un calme outil de ligne de commande), vous pouvez toujours utiliser le NullAppender.
Vous pouvez utiliser
à désactiver la journalisation dans du code java
Peut-être comme ça:
Logger.getRootLogger().shutdown();
Dans la version 1.8 de java.util.la journalisation.Enregistreur de les former correctement est:
Logger.getLogger("").setLevel(Level.OFF);
Vous pouvez essayer DE désactiver la modification de votre log4j.propriétés:
Réf.:
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html#OFF
Ajouter votre log fichier
If the above will not stop if from logging, it will au least log all the data from BasicImplementation class to a separate file.