加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何从Java代码禁用log4j日志

发布时间:2020-12-14 05:35:40 所属栏目:Java 来源:网络整理
导读:我使用使用log4j写入日志的旧版本库.我的默认log4j.properties文件将日志指向控制台,但在主程序的某些特定功能中,我想完全禁用日志记录(来自所有类). 我试过这个: Logger.getLogger(BasicImplementation.class.getName()).setLevel(Level.OFF); 其中“Basic
我使用使用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

解决方法

因此,您已定义3个记录器,包括根:
log4j.rootLogger=warn,logfile
log4j.logger.org.BIU.utils.logging.ExperimentLogger=warn

不幸的是,要以编程方式禁用它们,您需要在代码中指定其全部主题:

Logger.getLogger("ac.biu.nlp.nlp.engineml").setLevel(Level.OFF);
Logger.getLogger("org.BIU.utils.logging.ExperimentLogger").setLevel(Level.OFF);
Logger.getRootLogger().setLevel(Level.OFF);

Here’s如何将其重新设置为配置文件中设置的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读