如何从 Java 代码禁用 log4j 日志记录
我使用一个使用log4j写入日志的旧库。我的默认log4j.properties文件将日志定向到控制台,但是在我的主程序的某些特定函数中,我想完全禁用日志记录(来自所有类)。
我试过这个:
Logger.getLogger(BasicImplementation.class.getName()).setLevel(Level.OFF);
其中“Basic Implementlementation”是执行日志记录的主要类之一,但它不起作用 - 日志仍写入控制台。
这是我的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