반응형
spring boot 에서 Log4jdbc 를 사용해 실행된 쿼리 로그 확인.
1. log4jdbc를 dependency에 추가
<!-- log4jdbc -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
2. datasource 설정.
- spring.datasource.driverClassName 은 모든 DBMS 공통.
- spring.datasource.url 은 jdbc-db name 사이에 log4jdbc 추가.
spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/test
3. log4j2 설정 파일 생성.
- 파일 path
resources/log4jdbc.log4j2.properties
- 파일 내용.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
(sql문 최대 출력 라인 수. 0:무제한, 미설정 : 한줄)
4. Logger 추가.
<logger name="jdbc" level="OFF"/>
<!-- SQL문만 로깅, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문 출력 -->
<logger name="jdbc.sqlonly" level="OFF"/>
<!-- SQL문과 수행 시간 정보(milliseconds) 포함 -->
<logger name="jdbc.sqltiming" level="DEBUG"/>
<!-- ResultSet을 제외한 모든 JDBC 호출 정보 로깅. JDBC 문제를 추적해야 할 필요가 있는 경우에만 사용 -->
<logger name="jdbc.audit" level="OFF"/>
<!-- ResultSet을 포함한 모든 JDBC 호출 정보 로깅. 로그양이 많음 -->
<logger name="jdbc.resultset" level="OFF"/>
<!-- SQL 결과를 table 형태로 로깅 -->
<logger name="jdbc.resultsettable" level="DEBUG"/>
<!-- Connection의 연결과 종료에 관련된 로깅. 메모리 누수 확인? -->
<logger name="jdbc.connection" level="OFF"/>
※ Altibase DB 에 적용 시.
VM옵션 추가
-Dlog4jdbc.drivers=Altibase.jdbc.driver.AltibaseDriver
반응형
'프로그래밍 > Java' 카테고리의 다른 글
Too many open files (2) | 2021.06.14 |
---|---|
환경변수 값 읽어오기. (0) | 2021.04.05 |
Rabbit MQ 간단 사용. (0) | 2018.12.21 |
singleton 객체. (0) | 2018.12.06 |
openfire(xmpp) client (0) | 2018.11.06 |