목차
0. 환경
- windows10
- openjdk version "1.8.0_242"
- STS4 TooL (이클립스)
- Spring Framework 4.3.8 released
- Spring MVC Project (Legacy Project)
1. maven 추가 (pom.xml)
- log4jdbc-log4j2-jdbc4
<!-- Mybatis log -->
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
2. log4jdbc.log4j2.properties
/src/main/resources 경로에 log4jdbc.log4j2.properties파일을 생성 후 아래의 내용을 작성해줍니다.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
#maxlinelength는 sql문을 최대 몇 라인까지 출력할 것인지 설정합니다. (0 = 제한 없음)
log4jdbc.dump.sql.maxlinelength=0
3. driverClassName, jdbcUrl 변경
root-context.xml에 등록한 mybatis bean의 driverClassName와 jdbcUrl를 수정해줍니다.
//변경 전
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
//변경 후
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy" />
//변경 전
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306?useSSL=false&serverTimezone=UTC" />
//변경 후
<property name="jdbcUrl" value="jdbc:log4jdbc:mysql://127.0.0.1:3306?useSSL=false&serverTimezone=UTC" />
4. 로그 출력 범위 설정
- 로그 설정 파일을 수정해 log4jdbc-log4j2의 출력 범위를 지정합니다.
- 지정하지 않은 경우엔 모든 로그가 출력되므로 추가적으로 설정을 권장합니다.
- 필자는 logback을 사용하므로 logback.xml파일을 수정했습니다.
<logger name="jdbc" level="OFF"/>
<logger name="jdbc.connection" level="OFF"/>
<logger name="jdbc.sqlonly" level="OFF"/>
<logger name="jdbc.sqltiming" level="DEBUG"/>
<logger name="jdbc.audit" level="OFF"/>
<logger name="jdbc.resultset" level="OFF"/>
<logger name="jdbc.resultsettable" level="DEBUG"/>
- jdbc.sqlonly : SQL문만을 로그로 남기며, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보입니다.
- jdbc.sqltiming : SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds)를 포함합니다.
- jdbc.audit : ResultSet을 제외한 모든 JDBC 호출 정보를 로그로 남깁니다. 많은 양의 로그가 생성되므로 권장되지 않습니다.
- jdbc.resultset : ResultSet을 포함한 모든 JDBC 호출 정보를 로그로 남기므로 매우 방대한 양의 로그가 생성됩니다.
- jdbc.resultsettable : SQL 결과 조회된 데이터의 table을 로그로 남깁니다.
5. 실행결과
'Backend > Spring' 카테고리의 다른 글
[Spring] Spring MVC Project DB 연결 정보 암호화 (Jasypt, properties) (0) | 2021.10.31 |
---|---|
[Spring] Spring MVC Project 스케쥴링 설정 (Spring Quartz) (0) | 2021.10.30 |
[Spring] Spring MVC Project logback 적용 (0) | 2021.10.28 |
[Spring] Spring MVC Project Mysql 연동하기 (mysql mybatis hikariCP) (0) | 2021.10.27 |
[Spring] Spring MVC Project API 컨트롤러 생성 (API Controller) (0) | 2021.10.23 |