【发布时间】:2012-01-03 07:56:39
【问题描述】:
我使用一个使用 log4j 写入日志的遗留库。我的默认 log4j.properties 文件将日志定向到控制台,但在我的主程序的某些特定功能中,我想完全禁用日志记录(来自所有类)。
我试过了:
Logger.getLogger(BasicImplementation.class.getName()).setLevel(Level.OFF);
其中“BasicImplementation”是记录日志的主要类之一,但它不起作用 - 日志仍会写入控制台。
这是我的 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
【问题讨论】:
-
您可能必须禁用根记录器,但请先发布您的
log4j.properties/log4j.xml。