웹개발을 하다 보면 응용 프로그램에서 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 사용
조회 수 35986 추천 수 0 댓글 1
-
CUBRID에서 euc-kr의 한글 데이터를 utf-8의 한글 데이터로 변경 시 주의할 점
-
패키지 형태로 생성된 JAVA class를 JAVA SP에서 사용하기
-
CUBRID2008 Java Stored Procedure 등록 방법
-
php에서 serialize/unserialize 사용 시 주의할 점
-
CUBRID AUTO_INCREMENT 컬럼 MySQL LAST_INSERT_ID() 대체 방법
-
CUBRID의 날짜형 타입을 java의 날짜형 타입에 할당할 때의 값 비교.
-
CUBRID에서 systimestamp, sysdatetime default값에 대한 정의
-
JAVA SP를 통해 다른 데이터베이스 연결하는 경우 잊지 말자.
-
CUBRID odbc 드라이버 설정방법.
-
PHP에서 Prepared statement 사용시 NULL 값을 바인딩 하는 방법
-
용량이 큰 데이터를 질의로 저장하는 방법
-
윈도우 환경에서 PHP 모듈 로드를 못 할 경우 해결법
-
CUBRID에서 제약조건(PK,FK,UNIQUE),index 설정 시 주의 사항
-
MySQL의 Blob타입을 CUBRID로 변환하기
-
CUBRID의 Statement pooling기능
-
그루비로 큐브리드 함수(or 프로시저) 만들기 by 행복개발자(cyberuls)
-
JDBC 커넥션 스트링에 UTF-8 명시하는법
-
weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법
-
JDBC 사용시 SQL 로깅 - p6spy 사용
-
PHP 프로그램을 작성할때 주의할 점