log4jdbc
2023. 12. 28. 11:22ㆍJAVA
log4jdbc란
- log4jdbc는 log4j를 기반으로 한 JDBC 드라이버입니다.
- 주요 목적은 애플리케이션에서 실행되는 JDBC 쿼리를 로깅하고, 쿼리에 대한 실행 결과를 로깅하는 것입니다.
- 데이터베이스와의 통신 과정에서 발생하는 쿼리와 쿼리 결과를 로그로 남기는 기능을 제공합니다.
환경: STS4, Maven
pom.xml
<!-- mariadb -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
</dependency>
<!-- sql 로그 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
/src/main/resources/application.yml
spring:
datasource:
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
jdbc-url: jdbc:log4jdbc:mariadb://localhost:3306/db이름
username: 유저이름
password: 비밀번호
/src/main/resources/log4jdbc.log4j2.properties
- 없으면 생성해주세요.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
위에 1줄을 추가하면 쭉 다 1줄에 나오는게 아닌 줄바꿈이 된다고 합니다.
/src/main/resources/logback.xml
- 없으면 생성해주세요.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<!-- log4jdbc-log4j2 -->
<logger name="jdbc.sqlonly" level="DEBUG"/>
<logger name="jdbc.sqltiming" level="INFO"/>
<logger name="jdbc.audit" level="WARN"/>
<logger name="jdbc.resultset" level="ERROR"/>
<logger name="jdbc.resultsettable" level="ERROR"/>
<logger name="jdbc.connection" level="INFO"/>
</configuration>
끝
이제 쿼리를 실행하시면 쿼리가 콘솔에 로그로 찍힙니다.
java파일에서 별도 설정은 필요 없습니다.
쿼리가 잘려서 무슨 쿼리인가 싶겠지만 잘려서 그런 겁니다.😅
잘 찍히지만 조금 더 예쁘게 출력되면 좋겠네요. 오늘은 이만 줄입니다.
'JAVA' 카테고리의 다른 글
클래스 주석 달기 (0) | 2024.03.28 |
---|---|
Map을 vo에 맵핑시키기 (0) | 2024.01.30 |
카멜타입 변환기 (0) | 2023.12.01 |
REST API에서 주요 HTTP 메서드 (0) | 2023.07.17 |
이클립스 Git branch local에 불러오기 (0) | 2023.07.04 |