Background Image
응용개발
2009.07.01 08:38

JDBC 사용시 SQL 로깅 - p6spy 사용

조회 수 35999 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

웹개발을 하다 보면 응용 프로그램에서 DB로 넘어가는 SQL을 보고 싶을때가 있다.

그에 대한 방법이 많지만 그 중 아주 간단한 tip을 공유 한다.

비슷한 SQL로깅 하는 라이브러리는 log4sql 이라는 오픈소스도 존재 한다.

홈페이지 : http://www.p6spy.com

설치 방법 :
TOMCAT 5.x + DBCP 사용시
1. http://jaist.dl.sourceforge.net/sourceforge/p6spy/p6spy-install.zip 에서 p6spy를 다운 받는다.

2. 다운 받은 zip파일의 압축 파일을 풀어서

TOMCAT_HOME/common/lib에 p6spy.jar를넣어둔다.
TOMCAT_HOME/common/classes/에 spy.properties 설정 파일을 넣어 둔다.

3.
<Resource name="jdbc/CUBRIDDS" auth="Container" type="javax.sql.DataSource"
   factory="org.apache.commons.dbcp.BasicDataSourceFactory"
   driverClassName="cubrid.jdbc.driver.CUBRIDDriver"
   url="jdbc:cubrid:localhost:33000:subway:::"
   username="" password=""
   maxActive="10"
   maxIdle="10"
   maxWait="-1"
   removeAbandoned="true"
   removeAbandonedTimeout="60"
   logAbandoned="true"/>

cubrid.jdbc.driver.CUBRIDDriver
부분을
com.p6spy.engine.spy.P6SpyDriver로 설정해주면 된다.

4. spy.properties 파일의 설정을 바꿔준다.
realdriver=cubrid.jdbc.driver.CUBRIDDriver

추가 정보
1. p6spy에는 로그 포맷을 여러 형태로 지정 할 수 있다.
#specifies the appender to use for logging
#appender=com.p6spy.engine.logging.appender.Log4jLogger
#appender=com.p6spy.engine.logging.appender.StdoutLogger
appender=com.p6spy.engine.logging.appender.FileLogger
#log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender
#log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost
#log4j.appender.CHAINSAW_CLIENT.Port=4445
#log4j.appender.CHAINSAW_CLIENT.LocationInfo=true
log4j.logger.p6spy=INFO,STDOUT

2. p6spy에는 filter 기능이 존재 한다.
필터 기능을 이용하여 P6Spy는 사용자들로 하여금 특정 테이블, 특정 statement 타입들에 대하여 로깅 할 수 있게 한다.


filter = true
# comma separated list of tables to include
include = select
# comma separated list of tables to exclude
exclude = insert



  1. JAVA SP를 통해 다른 데이터베이스 연결하는 경우 잊지 말자.

  2. JDBC 사용시 SQL 로깅 - p6spy 사용

  3. JDBC 커넥션 스트링에 UTF-8 명시하는법

  4. Java Data Type의 CUBRID Data Type으로의 변경 Tip

  5. MySQL의 Blob타입을 CUBRID로 변환하기

  6. ODBC 드라이버를 이용한 Prepare 사용하기.

  7. PHP PEAR extension Cache-Lite 를 이용한 응용 프로그램 최적화

  8. PHP PEAR extension 을 이용한 DB Time 추적

  9. PHP 성능 최적화를 위한 고려 사항

  10. PHP 프로그램을 작성할때 주의할 점

  11. PHP에 CUBRID 모듈 추가시 모듈이 로드되지 않는 문제에 대한 해결 방안 하나입니다

  12. PHP에서 Prepared statement 사용시 NULL 값을 바인딩 하는 방법

  13. PHP에서 prepared statement 사용시 BIND 관련 팁

  14. PHP에서 prepared statement 사용하기

  15. WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis)

  16. Weblogic 10.0 사용시 JDK 1.5를 사용한 JDBC 드라이버 사용시 주의사항.

  17. Windows 환경에서 JAVA SP 사용 utf-8 한글 깨짐 해결

  18. Windows에서 32bit 버전의 PHP 설치 후 CUBRID와 연동 실패 시 해결 방법

  19. cubrid-php module r2.2 이상 버젼에서 configure시에 주의사항

  20. cubrid_fetch_all() php 함수로 만들어 사용하기

Board Pagination Prev 1 2 3 Next
/ 3

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales