Please Enable JavaScript!
Gon[ Enable JavaScript ]

SQL Statement Log 를 보기위한 log4jdbc 사용법

자바(JAVA)
반응형

SQL Statement Log 를 보기위한 log4jdbc 사용법 


프로그램을 개발하기위해선 대부분 DB 가 필요하다. DB에 데이터를 가져와서 요리하기

위해선 연결하고 조작하는 framework 을 쓰게 되는데 spring jdbc hibernate, iBatis 같이

섞어서 사용한다. hibernate, iBatis ORM(Object-relational mapping) 프레임웍이라고 부른다.

이것은 객체와 DB 의 맵핑을 좀더 효율적으로 할수 있게 만든 프레임웍이다.

 

이 프레임웍을 사용할 때 동적으로 쿼리의 상태값을 보는게 쉽지 않다. 그래서 무식하게 로그를

다 찍어보곤하는데 그런 수고를 덜수있는 log4jdbc 가 있다.

이것 외에 http://mainia.tistory.com/entry/log4sql log4sql 이라는 플러그인도 있다.

이전에 소개했던 기사인데 두가지를 비교해서 장단점을 알아보지는 않았다.

여하튼 이 플러그인을 쓰기 위한 3가지 필수 라이브러리가 있다.

(1) code.google.com/p/log4jdbc

log4jdbc3-1.1.jar (jdk1.4 or 1.5)

(2) www.slf4j.org

slf4j-api-1.5.3.jar (log4jdbc logging 서비스와 연동하게하는 API)

slf4j-log4j12-15.3 (log4jdbc log4j 기반 Logging 연동 라이브러리)

다운받은 zip 파일 안에 위의 2가지 jar를 찾아 복사한다.

먼저 소스에 적용하기 위해서 DB 연결 정보를 수정해야한다.

driver 클래스와 url 을 변경해야되는데 아래와 같이 변경하면된다.

<property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>

<property name="url"   

            value="jdbc:log4jdbc:oracle:thin:@127.0.0.1:1521:ORCL"/>

<property name="username" value="xxxx"/>

<property name="password" value="xxxxx"/>

 

프로그램을 시작하고 DB 연결을 시도하면 쿼리와 파라미터 정보가 보이게 된다.

그리고 하이버넷 내부에 어떤일이 벌어지는지 상세하지는 않지만 힌트를 주는 로그를 보여준다


각 DB 에 따른 사용클래스들에 대한 표를 참조한다.
Driver Class Database Type
oracle.jdbc.driver.OracleDriver Oracle
com.sybase.jdbc2.jdbc.SybDriver Sybase
net.sourceforge.jtds.jdbc.Driver jTDS SQL Server & Sybase driver
com.microsoft.jdbc.sqlserver.SQLServerDriver Microsoft SQL Server 2000 driver
com.microsoft.sqlserver.jdbc.SQLServerDriver Microsoft SQL Server 2005 driver
weblogic.jdbc.sqlserver.SQLServerDriver Weblogic SQL Server driver
com.informix.jdbc.IfxDriver Informix
org.apache.derby.jdbc.ClientDriver Apache Derby client/server driver, aka the Java DB
org.apache.derby.jdbc.EmbeddedDriver Apache Derby embedded driver, aka the Java DB
com.mysql.jdbc.Driver MySQL
org.postgresql.Driver PostgresSQL
org.hsqldb.jdbcDriver HSQLDB pure Java database
org.h2.Driver H2 pure Java database

반응형
Posted by 녹두장군1
,