DataBase/My-Batis

MyBatis 쿼리 로그를 이쁘게 정렬 해보자

2021. 5. 30. 02:19

MyBatis 쿼리가 위와 같이 불편하게 출력되고 있습니다.

한줄짜리 쿼리로그는 ? 를 아래 Parameters 에 출력된 '메모(String)'로 수동으로 넣어서 쿼리를 조회하면 되겠지만,

쿼리가 100줄이상에 parameter가 10개 넘어가면 일일이 찾아 바꿔 조회하는 것도 번거롭습니다.

 

파라미터가 바인딩된 쿼리로 pretty 하게 출력되도록 설정해보겠습니다.

 

1. build.gradle에 log4jdbc dependency추가.

/** for MyBatis Log Beautifier. using log4jdbc */
implementation('org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16')

 

2. main/resources/ 하위에 log4jdbc.log4j2.properties 파일 추가하고 아래와 같은 값을 추가.

log4jdbc.spylogdelegator.name = net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength = 0
log4jdbc.auto.load.popular.drivers=false
log4jdbc.drivers=com.mysql.cj.jdbc.Driver

 

3. application.yml 설정파일 > data-source의 driver-class-name을 net.sf.log4jdbc.sql.jdbcapi.DriverSpy 로 변경. url은 jdbc:log4jdbc:mysql://.... 와 같이 중간에 log4jdbc를 추가.

spring:
# Database connection setting.
datasource:
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://218.153.171.34:3306/map?autoReconnect=true

 

4. main/resources/ 에 logback.xml 파일을 추가하고 아래와 같이 설정.

sqltiming 로그만 DEBUG 로 출력되도록 해볼까요.

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%highlight([%-5level]) [%d{yy-MM-dd HH:mm:ss}] %cyan(%logger{36})\n - %msg%n</pattern>
</encoder>
</appender>
<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.resultsettable" level="OFF"/> <!-- 결과값을 보여줌-->
<logger name="log4jdbc.debug" level="OFF"/>
<logger name="jdbc.audit" level="OFF"/>
<logger name="jdbc.resultset" level="OFF"/>
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>

 

이제 출력결과를 확인하면 아래와 같이 resultSet에 파라미터를 대입한 상태로 출력 됩니다.

Mapper에 작성한 SQL문의 쿼리 정렬 상태 그대로 출력되고 있군요.

'DataBase > My-Batis' 카테고리의 다른 글

Out Of Memory Error. MyBatis Batch Insert 시 OOME 방지.  (1) 2023.07.03
[MyBatis/MySQL] Result Map을 조심 하세요.  (0) 2021.03.02
[MyBatis/MySQL] 쿼리 작성시 Tip 모음  (0) 2021.03.01
Delete 문에 이상이 없어보이는데 Syntax 에러.  (0) 2021.03.01
Spring-boot 와 MyBatis 연결 설정.  (0) 2021.02.27
'DataBase/My-Batis' 카테고리의 다른 글
  • Out Of Memory Error. MyBatis Batch Insert 시 OOME 방지.
  • [MyBatis/MySQL] Result Map을 조심 하세요.
  • [MyBatis/MySQL] 쿼리 작성시 Tip 모음
  • Delete 문에 이상이 없어보이는데 Syntax 에러.
PCOSPD 100LRE SCRIE4A2
PCOSPD 100LRE SCRIE4A2
PCOSPD 100LRE SCRIE4A2
tech log
PCOSPD 100LRE SCRIE4A2
  • 분류 전체보기 (67)
    • Web-base (0)
    • Front-End (1)
      • HTML (0)
      • CSS (1)
    • JavaScript (2)
      • DOM (2)
    • DataBase (19)
      • SQL (8)
      • MySQL (1)
      • My-Batis (6)
      • JOOQ (4)
      • RDBMS (0)
    • ☕️Java (22)
      • Java Basic (9)
      • JDK (1)
      • Date API (1)
      • 🍃Spring-boot (8)
      • Test (3)
      • 생산성 향상 시도 (0)
      • JPA (0)
    • 객체지향 (0)
    • 빌드도구 (0)
      • Maven (0)
      • Gradle (0)
    • Trouble Shooting (1)
      • Java Exceptions (1)
    • Work Exprience (0)
    • 서적 리뷰 (0)
    • Git (2)
    • intelli J (0)
    • Ubuntu (0)
    • 메뉴얼 (0)
    • 프로젝트 (0)
    • computer science (2)
      • Network (2)
      • 디자인 패턴 (0)
      • 운영체제 (0)
      • 알고리즘 (0)
    • 엑셀 (2)
    • 영어 (9)
      • 팝송 번역 (7)
      • 영화 번역 (2)
    • 경제 (1)
      • 주식 (1)
    • 기타 정보들 (1)
    • 도움이 된 글들 (1)
    • 취미 (4)
      • 디지털 드로잉 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • mybatis
  • 번역
  • jooq
  • Beautify
  • 해석
  • 교보문고OST
  • 조건별
  • Column
  • 프로크리에이트
  • matrix2
  • DigitalDrawing
  • prettify
  • row별 검색조건
  • 가사
  • self-join
  • 교보문고 노래
  • MySQL
  • 디지털드로잉
  • 월레스
  • matrix2 - reloaded
  • 팝송
  • mockito
  • merovingian
  • select max row
  • selectQuery
  • insertStep
  • 교보문고 송
  • updatestep
  • 레코드별 검색조건
  • 조회조건
  • dynamic select
  • git 브랜치 전략
  • column값 검색조건
  • procreate
  • 취미그림
  • select
  • condition
  • flushStatements
  • select custom
  • query
  • github flow
  • 한컬럼여러조건
  • SQL
  • branch strategy
  • PotentialStubbingProblem
  • 쿼리로그
  • UpdateSetMoreStep
  • Update
  • Database
  • out of memory error

최근 댓글

최근 글

hELLO · Designed By 정상우.
PCOSPD 100LRE SCRIE4A2
MyBatis 쿼리 로그를 이쁘게 정렬 해보자
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.