상세 컨텐츠

본문 제목

log4jdbc 개념정리

Spring/개념

by Chan.94 2024. 11. 13. 14:07

본문

반응형

log4jdbc

  • log4jdbc는 log4j를 기반으로 한 JDBC 드라이버
  • 애플리케이션에서 실행되는 JDBC 쿼리를 로깅하고, 쿼리에 대한 실행 결과를 로깅

log4j(Log for Java)

Java 기반 애플리케이션에서 로그를 기록하고 관리하기 위해 널리 사용되는 오픈 소스 로깅 프레임워크다.

 

log4j는 옵션 설정을 통해서 선택적으로 로그를 남기거나 특정 파일에 로그를 생성하는 등 다양한 이점을 가지고 있다.

FATAL > ERROR > WARN > INFO > DEBUG > TRACE  순서대로 레벨의 차이가 있으며, 출력 레벨 설정에 따라 설정 레벨 이상의 로그가 출력된다.


log4jdbc.log4j2.properties 

log4jdbc.log4j2.properties 파일은 주로 데이터베이스 접근과 관련된 SQL 로그를 기록하고 디버깅을 쉽게 하기 위해 사용된다. 이 파일은 log4jdbc-log4j2 라이브러리와 함께 사용되며, SQL 쿼리 및 데이터베이스와 관련된 다양한 정보를 로깅하기 위한 설정을 담고 있다.

log4jdbc-log4j2

일반 JDBC 드라이버를 래핑(wrapping)하여 SQL 실행 로그를 기록할 수 있도록 도와준다.

SQL본문과 SQL에 바인딩된 파라미터, 쿼리 실행 시간 등을 로그로 남길 수 있다.

<dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4</artifactId>
    <version>1.16</version>
</dependency>

 

주요 설정

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
  • log4jdbc-log4j2 라이브러리가 SQL 로그를 출력할 때 slf4j를 사용하도록 지정하는 설정이다.
  • log4jdbc-log4j2가 slf4j를 통해 로그를 출력하게 되며, 이때 로그 형식, 레벨, 출력 위치 등은 slf4j와 연동된 로깅 프레임워크(log4j2나 logback)의 설정에 따라 관리된다.

log4jdbc 주요 로깅 옵션

log4jdbc는 여러 가지 로깅 옵션을 제공합니다. 설정 파일에서 활성화할 수 있으며 각 옵션은 로깅할 항목을 다르게 표시합니다.

  • jdbc.sqlonly
    SQL 쿼리만 출력
  • jdbc.sqltiming
    SQL 쿼리와 실행 시간을 출력
  • jdbc.resultset
    쿼리 결과 값을 출력
  • jdbc.connection
    커넥션 연결 및 종료 정보를 출력

log4jdbc 특징

  • 로깅 통합
    slf4j를 사용하면 애플리케이션의 다른 로깅과 통합되어, 일관된 로그 형식과 출력 방식으로 관리할 수 있음
  • 유연한 로깅 관리
    slf4j를 통해 로깅을 설정하면, 로그 레벨과 출력 위치를 동적으로 조정할 수 있어 개발 중에 SQL 로그를 더 상세하게 보고, 운영 중에는 필요에 따라 로그 레벨을 줄일 수 있음
반응형

관련글 더보기

댓글 영역

>