有个dubbo项目,发现logback的配置不生效,第一时间怀疑springboot的默认slf4j的logback是不是被抢了,于是查一下依赖树:
mvn dependency:tree >a.txt
然后打开a.txt查一下log4j,结果发现dubbo-registry-nacos里面依赖了log4j:log4j,于是用exclusion排除了它,日志正常。
然后,通过err log又发现Version.class,Exchangers.class,Transporters.class,RemotingException.class存于于不同的jar
虽然能正常运行,但有err log输出不能忍,于是又借助dependency的输出,找出重复依赖,一并将其加到exclusion中,都是出自dubbo-registry-nacos, 阿里的出品真是一言难尽啊!
org.apache.dubbo dubbo-registry-nacos log4j log4j org.apache.dubbo dubbo-common org.apache.dubbo dubbo-remoting-api ${dubbo.version}
顺便贴出logback-spring.xml的配置,备忘一下:
%red(%d{HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%c{1}) - %cyan(%msg%n) UTF-8 ERROR DENY ACCEPT %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n app_log/log/app.info.%d.log ERROR %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n app_log/log/app.err.%d.log 1
另,springboot可以按不同的包设置不同的level,在application.yml里面配置:
logging:
level:
#com.baomidou.mybatisplus: DEBUG
com.freestyle: DEBUG
#org.apache.ibatis: DEBUG
#org.mybatis.spring: DEBUG
#com.dragonsoft.demojar.mapper: DEBUG
org.springframework: WARN
com.alibaba.csp.sentinel: DEBUG
mybatis-plus:
configuration:
#log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #如果想将sql记录到日志就开启这个日志实现
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl



