IT/development

Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy'...

알 수 없는 사용자 2022. 11. 24. 06:52
반응형

목차

    전자정부프레임워크 이용해서 log4jdbc를 cubrid와 연동하는 과정에 아래와 같은 에러가 발생했다.

     

    log4jdbc 연동하기까지 사전작업은 아래와 같다.

     

    1. pom.xml에 의존성 추가

    https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1/1.16

    <dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    <version>1.16</version>
    </dependency>​

    repository에 해당 jar 다운로드 된 것 확인

     


    2. 로그 설정파일 추가

     

    log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator​

    3. jdbc 연결정보 수정

    context-datasource.xml(여긴 수정한게 없음)

    globals.properties에서 불러오는 것이라 globals.properties만 아래처럼 변경했다.

    Globals.cubrid.DriverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
    Globals.cubrid.Url=jdbc:log4jdbc:cubrid:localhost:33000:test:::?charset=UTF-8​

     

     

    이 다음 tomcat 구동 시 jdbc driver를 생성할 수 없다는 에러 발생, 구글링해서 해결 됨

    아래처럼 로그 설정파일에 jdbc driver명 명시함

    log4jdbc.drivers=cubrid.jdbc.driver.CUBRIDDriver

    최종 로그 설정파일은 아래와 같음

    log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
    log4jdbc.drivers=cubrid.jdbc.driver.CUBRIDDriver
    
    #쿼리 출력 시 한줄로 출력안되도록 설정
    log4jdbc.dump.sql.maxlinelength=0

    이렇게 해서 내 문제는 해결이 되었다.

     

    참조 : benfatto님 블로그, "2021.03.01" ,

    https://benfatto.tistory.com/38

     

    스프링 MariaDB log4jdbc 연결 오류 해결

    pom.xml org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy url=jdbc:log4jdbc:mariadb://000:3306/db log4jdbc.log4j2.properties log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelega

    benfatto.tistory.com

    반응형