Java的log4j进行如下配置,那么会怎样输出ERROR级别的log呢?

log4j.rootLogger = D, FILE, stdout

#stdout
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = ERROR
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d %5p %c:%L - %m%n
log4j.appender.stdout.encoding=UTF-8

log4j.appender.FILE = org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File = ../logs/debug.log
log4j.appender.FILE.Append = true
log4j.appender.FILE.Threshold = ERROR
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern = %d %5p %c:%L - %m%n
log4j.appender.FILE.encoding=UTF-8

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ../logs/error.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = WARN
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d %5p %c:%L - %m%n
log4j.appender.D.encoding=UTF-8

如果输出了一个ERROR级别的log信息,那么这个log信息会进入../logs/debug.log中还是../logs/error.log中?

阅读 6.7k
1 个回答

会进入error.log
log4j.rootLogger = D, FILE, stdout根据你配置的顺序记录,并且只记录一次

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题