일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- 백준 사분면
- allowMultiQueries
- 백준10172
- 1330 두 수 비교하기
- 9498 시험성적
- 문자 9086
- 지도 이미지
- 25304 영수증
- mybatis update 오류
- 백준10171
- Gabia
- 2753 윤년
- 8393 합
- 넥사크로
- 배열 최대 최소
- 배열 최대값 최소값
- 톰캣9
- 백준 영수증
- 백준 문자
- 2739 구구단
- 자바
- nexacro
- 백준 25314
- tomcat9
- 자바 최대 최소
- update 오류
- 백준 9086
- 백준 개수 세기
- 10172 개
- Today
- Total
두두의 메모
log4jdbc-log4j2설정 (코드로 배우는 스프링 웹 프로젝트) 본문
※ 코드로배우는 스프링 웹 프로젝트를 참고한 정리글
1. log4jdbc-log4j2설정
MyBatis는 JDBC의 PreparedStatement를 이용해서 SQL을 처리한다.
∴ SQL에 전달되는 파라미터는 JDBC에서와 같이 '?'로 치환되어서 처리된다.
복잡한 경우 '?'로 나오는 값이 제대로 되었는지 확인하기가 쉽지 않은데 이 문제를 해결하기 위해서 SQL을 변환해서 PreparedStatement에 사용된 '?'가 어떤 값으로 처리되었는지 확인하는 기능을 추가해보자.
SQL로그를 제대로 보기 위해서 log4jdbc-log4j2 라이브러리를 사용해야 한다.
pom.xml에 라이브러리를 설정한다.
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
라이브러리를 추가한 후에 두 가지 작업을 해야한다.
1. 로그 설정 파일을 추가하는 작업
- 우선 src/main/resources밑에 log4jdbc.log4j2.properties파일을 추가한다.
- 파일 내용은 아래 코드 복붙한다.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
2. JDBC의 연결 정보를 수정
driverClassName과 jdbcUrl의 value값을 수정하면 된다.
※ 참고 : 여기에 적혀있는 book_ex는 필자가 설정한 db(데이터베이스)의 id와 pw를 말한다.
- 수정하기 전
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE"></property>
<property name="username" value="book_ex"></property>
<property name="password" value="book_ex"></property>
</bean>
- 수정 후
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
<property name="jdbcUrl" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE"></property>
<property name="username" value="book_ex"></property>
<property name="password" value="book_ex"></property>
</bean>
2. 로그의 레벨 설정
테스트코드를 실행하면 많은 양의 로그가 출력되기 때문에 처음 개발할 때는 좋지만 시간이 지나면서 불편하다고 느낄 수 있다.
그래서 로그의 레벨을 이용해서 조금 수정해 줄 필요가 있다.
테스트코드가 실행될 때의 로그와 관련된 설정은 src/test/resources 밑에 log4j.xml을 이용한다.
<logger name="jdbc.audit">
<level value="warn" />
</logger>
<logger name="jdbc.resultset">
<level value="warn" />
</logger>
<logger name="jdbc.connection">
<level value="warn" />
</logger>
'spring' 카테고리의 다른 글
목록 페이지 작업과 includes하기 (0) | 2022.03.28 |
---|---|
Github에 이클립스 프로젝트 올리기 (0) | 2022.03.27 |
MyBatis와 스프링 연동하기(코드로 배우는 스프링 웹 프로젝트) (0) | 2022.03.13 |
eclipse에 스프링 플러그인 설치 (0) | 2022.03.07 |
이클립스에 서버(톰캣) 적용하기 (0) | 2022.03.07 |