Springbootphoenix-client工程log4j与logback冲突解决

    技术2023-12-29  72

    、概述

    因公司业务需要,要将原来的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也无用;

    解决方案:

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

    可在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()

    有说这样解决的,哥试了,不太对呀

    那,还有没有更好的办法呢,哈哈,还是哥暴力 直接进入phoenix-5.0.0-HBase-2.0-client.jar 用winrar打开,直接将其删除,上传私服,ok

    Processed: 0.013, SQL: 10