티스토리 뷰


프로젝트 진행 시 실시간으로 동작하는 쿼리와 쿼리 파라미터 값을 확인하기 위하여

log4jdbc를 즐겨 사용합니다.


log4jdbc라이브러리에 대한 기본적인 설정과 사용 방법은

이미 다른 블로그 검색을 통하여 보셨을 거라고 생각하고요.

제가 말씀드릴려는 것은...

log4jdbc에서 기본적으로 지원하지 않는 데이터베이스를 이용하는 경우를 설명드리고자 합니다.


oracle, h2, postgresql, mssql 등의 유명한 데이터베이스는 log4jdbc가

해당 데이터베이스의 드라이버 클래스를 자동으로 검색하여 로그 처리가 가능하도록 해줍니다.

하지만 현재 몇몇 프로젝트에서 티맥스소프트의 Tibero(이하 티베로) 및 cubrid(이하 큐브리드)를

이용하여 개발을 하는 환경이 있는데, 이런 경우 기본적인 설정만으로는

log4jdbc를 이용하여 쿼리 로그를 출력할 수 없습니다.


이럴 때는 우선 System Property에 다음의 내용을 추가해줍니다.


-Dlog4jdbc.drivers=com.tmax.tibero.jdbc.TbDriver


이클립스에서 톰캣을 이용하여 사용하시는 경우 서버 실행 시 VM 옵션에 등록하여 사용하실 수 있습니다.

이렇게 설정을 하시면 log4jdbc가 해당 드라이버 클래스를 통하여 실행되는 쿼리의 로그도 기록을 해주게 됩니다.


또, 간혹 다른 데이터베이스의 클래스를 찾을 수 없다고 오류가 발생하는 경우가 있었습니다.

이 경우에는 추가로 다음 설정을 함께 해주었습니다.


-Dlog4jdbc.auto.load.popular.drivers=false


네, 보시는 그대로 알려진 드라이버 클래스를 자동으로 읽어들이지 말라는 설정을 추가해줍니다.

아 물론 프로젝트에서 오라클과 티베로 또는 큐브리드 데이터베이스를 함께 사용하고 있다면 위 설정은 필요 없겠죠?




댓글