0

我的代码中有调试、信息、警告、错误日志。但我只想在控制台中打印信息、错误日志。我想将所有日志存储在一个文件中。任何人都可以提出一种方法。

我尝试

log4j.rootLogger=debug,R1,R2

log4j.appender.R1=org.apache.log4j.ConsoleAppender
log4j.appender.R1.layout=org.apache.log4j.PatternLayout
log4j.appender.R1.layout.ConversionPattern=%d{dd/MM/yy kk:mm:ss.SSS} %-5p [%t] %x (%F:%L) - %m%n


#OAPIFacade front logs
log4j.appender.R2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R2.File=app/log4j/prop/log4j.log
log4j.appender.R1.DatePattern='.'dd-MM-yy
log4j.appender.R2.layout=org.apache.log4j.PatternLayout
log4j.appender.R2.layout.ConversionPattern=%d{dd/MM/yy kk:mm:ss.SSS} %-5p [%t] %x (%F:%L) - %m%n

在这种情况下,所有日志都在控制台中打印,但我只需要控制台中的信息和错误日志。

4

1 回答 1

1

据我所知,你不能同时看到INFO、隐藏WARN和看到ERROR;这违反了日志级别的设计。级别按以下顺序定义:

  • 痕迹
  • 调试
  • 信息
  • 警告
  • 错误
  • 致命的

但是,如果您只想在控制台中看到 WARN 和 ERROR,您可以使用 appender 的 Threshold 设置来执行此操作。具体来说,您只需要添加:

log4j.appender.R1.Threshold=WARN
于 2012-10-09T05:56:17.570 回答