Spring Project 의 MyBatis 쿼리를 Console 에 찍는 설정 (log4j2)

2023. 12. 30. 11:37·개발중/Spring Boot
목차
  1. 의존성 추가
  2. log4j2 파일
  3. DataBase 접속 정보에 대한 수정
  4. 결과 확인
728x90
반응형

 

의존성 추가

- 로그 관련 라이브러리를  추가합니다.

 

<!-- 로그 설정 -->
<dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    <version>1.16</version>
</dependency>

 

 

log4j2 파일

- resource 하위에 log4j2.xml 파일을 생성합니다.

 

 

 

- 파일 안에 아래와 같이 코드를 작합니다.

 

<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

 

 

DataBase 접속 정보에 대한 수정

 

변경 전

 

spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.jdbc-url=jdbc:mysql://localhost:3306/binsoo_db?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.hikari.username=root
spring.datasource.hikari.password=1234
spring.datasource.hikari.pool-name=TestHikariPool

 

변경 후

 

spring.datasource.hikari.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.hikari.jdbc-url=jdbc:log4jdbc:mysql://localhost:3306/binsoo_db?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.hikari.username=root
spring.datasource.hikari.password=1234
spring.datasource.hikari.pool-name=TestHikariPool

 

변경사항

 

 

 

결과 확인

 

2023-12-30 11:23:01.812  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. Connection.prepareStatement(SELECT id AS seq
		       , userName AS name
		  FROM BINSOO_USER) returned net.sf.log4jdbc.sql.jdbcapi.PreparedStatementSpy@25ae6149
2023-12-30 11:23:01.825  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. SELECT id AS seq , userName AS name FROM BINSOO_USER  {executed in 9 ms}
2023-12-30 11:23:01.825  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. PreparedStatement.execute() returned true
2023-12-30 11:23:01.828  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.new ResultSet returned 
2023-12-30 11:23:01.828  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. PreparedStatement.getResultSet() returned net.sf.log4jdbc.sql.jdbcapi.ResultSetSpy@3fd51580
2023-12-30 11:23:01.830  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getMetaData() returned com.mysql.cj.jdbc.result.ResultSetMetaData@2dad1813 - Field level information: 
	com.mysql.cj.result.Field@47cdd5c1[dbName=binsoo_db,tableName=BINSOO_USER,originalTableName=binsoo_user,columnName=seq,originalColumnName=id,mysqlType=3(FIELD_TYPE_INT),sqlType=4,flags=, charsetIndex=63, charsetName=ISO-8859-1]
	com.mysql.cj.result.Field@4bb80ae4[dbName=binsoo_db,tableName=BINSOO_USER,originalTableName=binsoo_user,columnName=name,originalColumnName=userName,mysqlType=253(FIELD_TYPE_VARCHAR),sqlType=12,flags=, charsetIndex=33, charsetName=UTF-8]
2023-12-30 11:23:01.831  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getType() returned 1003
2023-12-30 11:23:01.831  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.isClosed() returned false
2023-12-30 11:23:01.831  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.next() returned true
2023-12-30 11:23:01.835  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getInt(seq) returned 1
2023-12-30 11:23:01.835  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getString(name) returned bin
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getInt(seq) returned 1
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getString(name) returned bin
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.isClosed() returned false
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.next() returned true
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getInt(seq) returned 2
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getString(name) returned bim
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getInt(seq) returned 2
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.getString(name) returned bim
2023-12-30 11:23:01.837  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 1. ResultSet.isClosed() returned false
2023-12-30 11:23:01.838  INFO 22876 --- [nio-8080-exec-1] log4jdbc.log4j2                          : 
|---|---------|
|id |username |
|---|---------|
|1  |bin      |
|2  |bim      |
|---|---------|
728x90
반응형
저작자표시 (새창열림)

'개발중 > Spring Boot' 카테고리의 다른 글

Mono와 Flux의 차이점과 활용법 - Spring WebFlux  (0) 2024.06.11
Spring Boot 3와 WebClient: 비동기식 HTTP 요청을 쉽게 구현하기  (0) 2024.06.11
Spring 환경에서 프로파일 별 효율적 코드 관리 전략  (1) 2023.12.08
SocketException의 수수께끼: 첫 번째 API 호출에서만 왜 실패할까? ( retrofit java.net.socketexception connection reset )  (0) 2023.10.06
@RequiredArgsConstructor 와 @Autowired 의 차이점  (0) 2023.10.06
  1. 의존성 추가
  2. log4j2 파일
  3. DataBase 접속 정보에 대한 수정
  4. 결과 확인
'개발중/Spring Boot' 카테고리의 다른 글
  • Mono와 Flux의 차이점과 활용법 - Spring WebFlux
  • Spring Boot 3와 WebClient: 비동기식 HTTP 요청을 쉽게 구현하기
  • Spring 환경에서 프로파일 별 효율적 코드 관리 전략
  • SocketException의 수수께끼: 첫 번째 API 호출에서만 왜 실패할까? ( retrofit java.net.socketexception connection reset )
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932)
      • 개발중 (634)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리눅스 마스터 1급
    java
    네트워크 관리사 요약
    쿠버네티스 스터디
    git
    네트워크 관리사 실기
    redis
    BackendDevelopment
    쿠버네티스
    네트워크 관리사 2급 실기
    파이썬
    springboot
    리눅스 1급 요약
    네트워크 관리사 자격증
    리눅스 마스터
    jpa
    파이썬 알고리즘
    리눅스 마스터 1급 정리
    Git 저장소
    알고리즘
    스프링
    Spring
    리눅스 마스터 요약
    docker
    REST API
    네트워크 관리사 학점
    네트워크 관리사 2급
    VUE
    네트워크 관리사
    리눅스 마스터 1급 요약
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
Spring Project 의 MyBatis 쿼리를 Console 에 찍는 설정 (log4j2)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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