웹개발을 하다 보면 응용 프로그램에서 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=truelog4j.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
응용개발
2009.07.01 08:38
JDBC 사용시 SQL 로깅 - p6spy 사용
조회 수 35998 추천 수 0 댓글 1
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
279 | 질의작성 | 한건의 데이타를 여러건으로 조회하는 쿼리입니다. | 권호일 | 2012.03.30 | 9417 |
278 | 운영관리 | 한 호스트내의 DB경로 변경 방법 | janus | 2010.02.19 | 12265 |
277 | CUBRID 매니저 | 한 개 PC에서 CUBRID7.3과 CUBRID2008R1.4 & R2.0 매니저 사용 방법 1 | 정만영 | 2009.12.12 | 13054 |
276 | 응용개발 | 패키지 형태로 생성된 JAVA class를 JAVA SP에서 사용하기 | 손승일 | 2010.02.26 | 18375 |
275 | 기타 | 테이블에 comment 사용하기 1 | 남재우 | 2010.01.01 | 21051 |
274 | 질의작성 | 테이블 컬럼 변경 및 추가 | 정만영 | 2016.02.29 | 21797 |
273 | 질의작성 | 테이블 용량 산정 쿼리 | 성진 | 2015.12.08 | 7391 |
272 | 운영관리 | 테이블 사용량 확인방법 | 정만영 | 2015.02.03 | 11441 |
271 | CUBRID 매니저 | 테이블 명세서 한 시트로 합치기 | 성진 | 2015.12.24 | 16510 |
270 | 질의작성 | 테이블 명세서 쿼리 1 | 성진 | 2017.08.04 | 3159 |
269 | 질의작성 | 테이블 리스트 취합 SQL | 김창휘 | 2016.03.19 | 5520 |
268 | 질의작성 | 테이블 데이터 복사 하기 | 정만영 | 2009.03.14 | 22298 |
267 | 마이그레이션 | 타 DBMS를 CUBRID로 마이그레이션 시 varchar,char 컬럼 사이즈 관련 | 손승일 | 2010.07.01 | 38023 |
266 | 마이그레이션 | 타 DB 에서 마이그레이션시 질의 변경 샘플 - CASE 문 | 웁쓰 | 2009.12.31 | 21923 |
265 | 운영관리 | 큐브리드와 hostname 관계 | 정만영 | 2009.06.25 | 18583 |
264 | 운영관리 | 큐브리드매니져를 이용한 데이터베이스 자동 백업 | 남재우 | 2009.04.01 | 19051 |
263 | 운영관리 | 큐브리드 포트 정리 | 정만영 | 2016.07.05 | 6085 |
262 | 운영관리 | 큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법 | 진우진 | 2015.12.16 | 7726 |
261 | 운영관리 | 큐브리드 사용포트 정리 3 | 정만영 | 2009.06.19 | 29768 |
260 | 운영관리 | 큐브리드 복제 구성 시 마스터 데이터베이스 백업 주의사항 | 정만영 | 2010.02.11 | 12591 |