【问题标题】:Different levels in two appenders log4j2.properties?两个附加程序 log4j2.properties 中的不同级别?
【发布时间】:2017-07-02 03:14:00
【问题描述】:

我是 Log4j2 的新手,我不明白如何在两个附加程序中设置两个不同的级别,例如,我想在 File.log 中写入错误级别,在控制台中从级别调试开始,这是我的属性文件:

status = error
name = PropertiesConfig

property.filename = logs

appenders =  console, rolling

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.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}/AndrewDebug-${date:yyyy-MM-dd}.log
appender.rolling.filePattern = debug-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20

logger.rolling.name = web.languages
logger.rolling.level = debug
logger.rolling.appenderRef.rolling.ref = RollingFile

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

【问题讨论】:

  • 您尝试使用 logger.console.level = debug 吗?
  • org.apache.logging.log4j.core.config.ConfigurationException:没有为 Logger 控制台提供名称属性

标签: java log4j log4j2


【解决方案1】:

尝试使用以下语法:

对于控制台:

appender.console.filter.threshold.type = ThresholdFilter
appender.console.filter.threshold.level = debug

滚动文件:

appender.rolling.filter.threshold.type = ThresholdFilter
appender.rolling.filter.threshold.level = info

用于记录器:

logger.(your_name).level = trace(max_level)

【讨论】:

    【解决方案2】:

    使用

    logger.console.level = debug
    logger.rolling.level = info
    

    编辑:同时定义一个名称

    logger.console.name = web.languages
    logger.console.appenderRef.console.ref = STDOUT
    

    【讨论】:

    • 嗨,我知道了,org.apache.logging.log4j.core.config.ConfigurationException:没有为 Logger 控制台提供名称属性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2014-02-06
    • 1970-01-01
    • 2018-01-19
    • 2012-08-09
    相关资源
    最近更新 更多