애플리케이션 개발/JAVA

[java] jdbc:log4jdbc: SQL 로깅 드라이버 사용 시 주의할 점

sofiaaa 2025. 4. 7. 18:29
반응형

개발 중에 데이터소스에 log4jdbc를 적용하려 했는데,
Java 7(1.7) 환경에서 오류가 발생한 걸 발견해서 그걸 내용으로 써보려고 한다.

 


1. 시도: log4jdbc 설정

  • JDBC URL을 이렇게 변경했습니다:
jdbc:log4jdbc:mysql://localhost:3306/mydb
  • 그리고 서버를 실행했는데...

2. 발생한 오류

서버 실행과 동시에 아래와 같은 오류가 터졌습니다: 

ava.lang.UnsupportedClassVersionError: net/sf/log4jdbc/sql/jdbcapi/DriverSpy : Unsupported major.minor version 52.0
 

3. 오류 분석

이 에러 메시지는 이렇게 해석할 수 있습니다:

  • Unsupported major.minor version 52.0
    • 52Java 8로 컴파일된 클래스를 의미합니다.
  • Java 7(1.7) 은 major version이 51이기 때문에,
    • Java 8로 만들어진 클래스를 이해할 수 없습니다.
  • 즉, Java 7에서 log4jdbc를 로딩할 수 없다는 의미입니다.

4. 왜 이런 문제가 발생했을까?

  • log4jdbc-remix (요즘 가장 많이 사용하는 버전)는
    JDK 1.8(Java 8) 기준으로 컴파일된 라이브러리입니다.
  • Java 7 이하에서는 사용할 수 없습니다.

요약하면:

log4jdbc는 Java 8 이상에서만 정상 동작합니다.


5. 해결 방법은?

 

1. Java 버전을 업그레이드 (권장) Java 8 이상으로 환경을 올리면 정상 작동
2. 대체 라이브러리 사용 Java 7 지원되는 p6spy 등을 고려

6. 정리 (한 줄 요약)

Java 7(1.7) 환경에서는 log4jdbc를 사용할 수 없습니다.

  • Java 7에서는 Unsupported major.minor version 52.0 오류가 발생합니다.
  • 해결하려면 Java 8 이상으로 업그레이드하거나,
  • 대체 라이브러리(p6spy) 를 사용하는 것을 추천합니다.

마무리

개발 환경에 따라 라이브러리 호환성 문제는 꼭 사전에 확인해야 합니다.
특히 log4jdbc처럼 내부적으로 JDK 버전에 의존하는 라이브러리는 주의가 필요합니다.

🚀 "라이브러리 선택할 때는 JDK 버전도 함께 체크하자!"

 

반응형