【问题标题】:Log4j2: Logging file level affecting console levelLog4j2:影响控制台级别的日志文件级别
【发布时间】:2016-11-11 21:40:52
【问题描述】:

为什么logger.file.level 在此设置中影响rootLogger.level (log4j2.properties)?

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1}: %msg%n

appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName = logs/TEMOS.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1}: %msg%n

loggers = file

logger.file.name=org.company.test
logger.file.level = info
logger.file.append = false
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE

rootLogger.level = all
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

控制台只包含信息消息以及文件。将logger.file.level 更改为all 后,控制台包含所有消息 以及文件。

【问题讨论】:

标签: logging log4j2


【解决方案1】:

这不是错误。它以这种方式实现以匹配其前身 Log4j 1 和 Logback 的行为。仅针对第一个 LoggerConfig 检查 Logger 上指定的 Level 属性。如果它通过了,那么它将被传递给所有父 LoggerConfigs,直到它被过滤器或在父节点上指定 additivity="false" 拒绝。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-01
    • 2012-09-14
    • 2014-11-24
    • 2013-06-29
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多