SpringBoot+phoenix-client-4.7工程log4j与logback冲突解决

一、概述

因公司业务需要,要将原来的springboot+phoenix-client的工程使用的log4j换成logback,其中的一些冲突采坑记录;

二、遇到的问题及解决方案

Q1,因phoenix-client是从apache-phoenix-4.10.0-HBase-1.2-bin.tar中拷贝出来的,它其中phoenix-4.10.0-HBase-1.2-client.jar是全量runable运行包(而非maven依赖关系),所以就导致了问题根源,即使:log4j也无用;

解决方案:

1. 检查是否引入jcl-over-slf4j包;

2. 可在SpringApplication.run(BigDataOpenBootstrap.class, args);启动之前显示指定使用slf4jLogFactory

System.setProperty("org.apache.commons.logging.LogFactory","org.apache.commons.logging.impl.SLF4JLogFactory");

再次启动,OK!!!

源码跟踪(原理):commons-logging-1.1.1.jar org.apache.commons.logging.LogFactory.getFactory()

你可能感兴趣的:(SpringBoot+phoenix-client-4.7工程log4j与logback冲突解决)