log4j 를 쓴다면
라고 log4j 설정파일에 추가해주는 것으로 처리 가능합니다만.. (물론 저 DEBUG 값을 그대로 쓰기 보다는 빌드시, 개발자 PC냐, 개발 서버냐, 운영 서버냐에 따라 달라지도록 해야겠죠) 한가지 단점이 있다면 바인딩된 결과가 아닌 '?' 가 들어있는 sql 문과, 바인드 될 파라미터 값들의 따로 보여준다는 것이 단점이라면 단점일 것입니다.. 그래서!!! 두둥~~ 해결책을 찾아본 결과 p6spy 라는 것이 있더군요. JDBC 드라이버를 Wrapping 함으로써 바인드까지 된 sql 문을 볼 수 있게 해줍니다. 자.. 그럼 이걸 spring 과 ibatis 를 쓰는 환경에서는 어떻게 써 먹을 까요??? (참고로 제가 진행 중인 프로젝트는 JNDI Name 으로 DataSource 를 얻어옵니다. (1) p6spy.jar 파일을 WEB-INF/lib 디렉터리에 복사합니다. (혹은 jdk 나 was 의 lib 디렉터리에 복사해도 됩니다) (2) spring 설정 파일에서 <bean id="conaDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">라고 된 부분을 (당연히 jndiname 은 다르겠죠.) <bean id="conaDataSource" class="com.p6spy.engine.spy.P6DataSource">와 같이 변경해 줍니다. (3) spy.properties 파일을 클래스 패스 (예를 들어 WEB-INF/classes) 로 인식되는 곳에 위치 시킨 후 다음의 내용을 입력합니다. module.log=com.p6spy.engine.logging.P6LogFactorywas 를 재기동 하면 그다음 부터는 원하는 결과를 쭉쭉 볼 수 있답니다. ======== patch 1.3 이후 릴리즈가 없죠. 만드시던 분이 사정이 생기셨는지.. 암튼.. 1.3 버전의 치명적인 에러는 설정을 어떻게 하던 resultset 에 대한 로그를 남긴다는 겁니다. 로그 파일 순식간에 커지죠.. 따라서 패치를 해줘야 합니다. p6spy-src 파일을 다운로드 받고 압축을 해제한 후 첨부한 패치 파일을 P6LogQuery.java com/p6spy/engine/common 에 복사합니다.(같은 이름의 파일이 있으니 덮어쓰시면 됩니다) 다음으로 압축을 해제한 디렉터리(build.xml 파일이 있는 디렉터리에) lib 디렉터리를 생성하시고 다음의 라이브러리 파일들을 복사하여 넣습니다.. junit.org : http://www.junit.org jakarta-regexp-1.4.jar : http://jakarta.apache.org/regexp/ Gnu Regexp : http://www.cacas.org/java/gnu/regexp/ gnu.regexp-1.1.4.tar.gz (해당 파일을 구하기 어려운 관계로 첨부합니다) log4j : http://jakarta.apache.org/log4j/ jboss 2.4.6 : http://sourceforge.net/project/showfiles.php?group_id=22866 (이것 역시 2.4.6 버전의 jboss.jar 파일이 필요합니다. 첨부파일을..) jboss.jar Sun JMX libraries : http://java.sun.com/products/JavaManagement/download.html 참조 구현체 1.2.1 정도면 무난합니다. 제대로 설정했을 경우 lib 디렉터리에는(제가 작업한 2006년 9월 11일 기준으로) jakarta-regexp-1.4.jar, junit.jar, log4j-1.2.13.jar, gnu-regexp-1.1.4.jar, jboss.jar, jmxri.jar, jmxtools.jar 와 같은 파일이 있어야 합니다. 물론 jakarta-regexp 및 log4 는 버전이 달라도 상관없습니다. 다 되셨으면 소스 압축을 푼 디렉터리에서 ant 를 실행시킵니다. 그러면 dist 디렉터리에 p6spy.jar 파일이 생성됩니다. |
[본문링크] [Spring + iBatis] 바인딩된 sql 문 로깅하기 |
728x90
'Carpe Programming > ibatis' 카테고리의 다른 글
[log4j] 설정 (0) | 2012.04.13 |
---|---|
[ibatis] 관련 link (0) | 2012.01.27 |
[ibatis] 기본 설정 (0) | 2012.01.27 |
[ibatis] 동적 쿼리 생성 (0) | 2012.01.27 |
[ibatis] 로그 이쁘게 보이게하기 (0) | 2012.01.27 |