问题描述
使用dubbo 2.6.1做微服务,日志使用log4j,日志输出中总是显示以下内容:
INFO 12-04 17:10:28 - [DUBBO] [2020-12-04 17:10:28] xxx
网上搜到的解决办法是调整以下配置,但我设置了,不管用!!!:
log4j.logger.com.alibaba=WARN
分析源码
分析源码,发现在设置日志级别时,居然用的是getRootLogger()
的等级!!!
package com.alibaba.dubbo.common.logger.log4j;
...
public class Log4jLoggerAdapter implements LoggerAdapter {
...
public Level getLevel() {
return fromLog4jLevel(LogManager.getRootLogger().getLevel());
}
public void setLevel(Level level) {
LogManager.getRootLogger().setLevel(toLog4jLevel(level));
}
...
解决办法
当前日志配置方式:
log4j.rootLogger=info,CONSOLE
log4j.logger.com.alibaba=WARN
调整rootLogger
等级为warn
,然后添加自己的代码的日志输出等级:
log4j.rootLogger=warn,CONSOLE
#log4j.logger.com.alibaba=WARN
log4j.logger.com.xxx=info
– end –