티스토리 뷰
저번까진 Rest api 서버를 구축해 보았습니다. Mybatis를 통해 훌룡하게 SQL을 조회하여 임직원 정보를 뿌려 주었습니다. 다만 Console 창을 보면 SQL이 재대로 실행되었는 지 확인을 할 수 없습니다. 이러면 Debugging 할 때 몹시 불편하니 log4j를 통해 SQL을 Console창에 띄우도록 해봅시다. 먼저 application.properties를 엽니다. 그리고 driver-class-name 및 url을 변경해 줍니다.
# spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
# spring.datasource.url=jdbc:log4jdbc:oracle:thin:@localhost:1521/**
driver-class-name은 위와 같이 변경해주고 url은 jdbc와 db주소 사이에 log4jdbc를 넣어줍니다. 그리고 나서 resources 아래에 log4jdbc.log4j2.properties 및 logback-spring.xml 두 파일을 생성해 줍니다.
log4jdbc.log4j2.properties 에는 아래와 같이 넣어줍니다.
# log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
# log4jdbc.dump.sql.maxlinelength=0
아 참고로 #은 주석이므로 실제 넣으실 때는 제거하시기 바랍니다.
그리고 나서 xml에 기존 Spring log 설정과 같이 넣어줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n</pattern>
</encoder>
</appender>
<logger name="jdbc" 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"/>
<logger name="jdbc.connection" level="OFF"/>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
|
cs |
일단 Console에만 보여주면 되기 때문에 Console 설정만 넣도록 했습니다. 자 이제 마지막으로 pom.xml에 dependency 두 개를 추가해 줍니다.
1
2
3
4
5
6
7
8
9
10
|
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
|
cs |
위와 같이 jar를 추가해주고 서버를 부팅한 후 이전에 Rest api 만들 때 썼던 /getEmpInfo로 접속해보면 Console창에 아래와 같이 예쁘게 Log가 찍히는 걸 확인할 수 있습니다.
'IT > Framework' 카테고리의 다른 글
Spring boot 2.3.12 - Open Api 3.0 (Swagger 3.0) 시큐리티 분리 적용 (2) | 2021.07.05 |
---|---|
Spring boot 2.2.8 - Encoding Filter 설정 (0) | 2020.07.26 |
Spring boot 2.2.8 Rest API 서버 구축하기(2) (0) | 2020.06.28 |
Spring boot 2.2.8 Rest API 서버 구축하기(1) (0) | 2020.06.14 |
Mybatis - Cursor is closed 해결법 (0) | 2019.07.21 |
- Total
- Today
- Yesterday