728x90
반응형



log4j2 라이브러리 추가 후
출력되는 로그들 중 sql 로그의 경우 쿼리와 파라미터 값이 따로 출력된다.

Executing Statement: SELECT * FROM emp WHERE age > ? AND name LIKE ‘%’|| ? || ‘%’
Parameters: [28, k]

대충 이런 느낌으로..

그래서 디버깅 시 해당 쿼리를 따로 실행하려고 하면 굉장히 불편하다.
이럴 때는 log4jdbc 라이브러리를 사용하면 현재 실행되는 쿼리의 파라미터까지 한번에 로그로 출력할 수 있다.


설정


1. log4jdbc.log4j2.properties 추가

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4j2.xml 설정 파일이 위치한 경로에 추가



2. log4jdbc-log4j2-jdbc4-1.16.jar 라이브러리 추가
아니면 pom.xml에 추가하던가..



3. context-datasource.xml 수정
변경 전

<property name=“driverClassName” value=“oracle.jdbc.driver.OracleDriver”>

변경 후

<property name=“driverClassName” value=“net.sf.log4jdbc.sql.jdbcapi.DriverSpy”>




4. globals.properties 수정
변경 전

Globals.Url=jdbc:oracle:thin:@…

변경 후

Globals.Url=jdbc:log4jdbc:oracle:thin:@…



728x90
반응형

+ Recent posts