我的代码中有调试、信息、警告、错误日志。但我只想在控制台中打印信息、错误日志。我想将所有日志存储在一个文件中。谁能建议一种方法。
我尝试使用
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
在这种情况下,所有日志都在控制台中打印,但我只想在控制台中打印信息和错误日志。
最佳答案
据我所知,你不能同时看到INFO、隐藏WARN和看到ERROR;这违反了日志级别的设计。级别按以下顺序定义:
- 跟踪
- 调试
- 信息
- 警告
- 错误
- 致命
但是,如果您只想在控制台中看到 WARN 和 ERROR,则可以使用附加程序的 Threshold 设置来执行此操作。具体来说,您只需添加:
log4j.appender.R1.Threshold=WARN
关于java - log4j.属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793558/