Log4jdbc

콜라맘·2023년 7월 7일
0

Spring

목록 보기
9/14
post-thumbnail

🍀 Log4jdbc

  • JDBC에서 발생하는 작업들을 로그로 찍어주는 라이브러리
  • 디버깅이 매우 수월해진다

🌼 적용순서

1. pom.xml에 등록

  • log4jdbc에서 Maven을 복사해도 됨
  • 아래 내용을 복봍해도 됨
<dependency>
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 -->
	<groupId>org.bgee.log4jdbc-log4j2</groupId>
	<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
	<version>1.16</version>
</dependency>

2. root-context에 jdbcUrl, driverClassName 변경

<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"/>
<property name="jdbcUrl" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE"/>

3. resources에 log4jdbc.log4j2.properties 파일 추가

파일명 : log4jdbc.log4j2.properties
파일내용 : log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

4. log4j.xml에 logger 추가

<!-- Log4jdbc Loggers -->
<logger name="jdbc.sqltiming">
	<level value="info" />
</logger>
<logger name="jdbc.resultsettable">
	<level value="info" />
</logger>
  • jdbc.sqlonly : 실행하는 SQL문을 출력한다
  • jdbc.sqltiming : 실행하는 SQL문과 실행하는데 걸린 시간을 출력한다
  • jdbc.audit : ResultSet을 제외한 모든 JDBC 실행 과정을 출력한다
  • jdbc.resultset : 모든 ResultSet의 실행 과정을 출력한다
  • jdbc.resultsettable : 쿼리 실행 결과를 표로 출력해준다, 로깅 레벨을 debug로 설정하면 읽히지 않았던 값들도 모두 출력해준다
  • jdbc.connection : jdbc connetion을 생성하고 닫는 과정을 출력한다, 메모리 누수(close를 하지 않아서 발생하는 문제)를 해결할 때 사용한다

🚀 log4jdbc 공식 페이지로 바로가기

profile
콜라맘 코딩일기

0개의 댓글