IT/development

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

알 수 없는 사용자 2022. 11. 24.

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

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

 

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 다운로드 된 것 확인

Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy'... - undefined - 1. pom.xml에 의존성 추가

 


2. 로그 설정파일 추가

Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy'... - undefined - 2. 로그 설정파일 추가

 

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

3. jdbc 연결정보 수정

Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy'... - undefined - 3. jdbc 연결정보 수정
context-datasource.xml(여긴 수정한게 없음)

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

Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy'... - undefined - 3. jdbc 연결정보 수정

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

Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy'... - undefined - 3. jdbc 연결정보 수정