Skip to content

Latest commit

 

History

History
59 lines (40 loc) · 2.26 KB

README.adoc

File metadata and controls

59 lines (40 loc) · 2.26 KB

logJdbc

Overview

maven-central Build Status

SQL 로깅 라이브러리. JDBC작업시 SQL, Parameter 그리고 resultSet을 로그로 출력합니다.

9719aa4a 58b0 11e6 8146 75507ae9a8c3

버전

JDK 1.7 이상

상세

Database는 데이터가 최종적으로 저장되는 장소이며 프로그램에서 데이터들의 시작점이기도 합니다.

로직이 정상적으로 수행되었는지를 가장 명쾌하게 알 수 있는 부분은 이 SQL 문이 정상적으로 만들어졌는지를 확인해보는 일입니다.
하지만 Java에서 로그로 발생하는 SQL 문은 파라미터와 분리된 채로 나오게 되며, select 문이 길어질수록 이러한 단순 매핑 과정이 쉽지 않았습니다.

기존 라이브러리 log4jdbc 및 p4sql 의 경우에 설정이 복잡하고 프로젝트가 중지된 상태로 방치되어 있고,
여기에 SQL formatting 등 개인적으로 필요했던 기능들을 추가하는 것을 목적으로 프로젝트를 시작하였습니다.

사용법

LogJdbcDataSource 로 기존에 사용하던 `DataSource`를 감싸서 선언합니다.

아래는 스프링환경에서 LogJdbc를 사용하는 방법입니다.

@Bean
public DataSource simpleDataSource() {
    SimpleDriverDataSource realDataSource = new SimpleDriverDataSource();
    realDataSource.setDriverClass(org.h2.Driver.class);
    realDataSource.setUrl("jdbc:h2:mem:testdb");
    realDataSource.setUsername("sa");
    realDataSource.setPassword("");

    // LoggableDataSource의 생성자로 기존 DataSource를 넣으면 설정이 완료됩니다.
    DataSource dataSource = new LogJdbcDataSource(realDataSource);

    return dataSource;
}

SQL이 출력될 수 있도록 로그설정이 필요합니다. `net.chandol`로 로깅레벨을 설정을 추가해주셔야 합니다.

<!-- log4j일 경우에 아래와 같이 추가 -->
<logger name="net.chandol">
    <level value="INFO"/>
    <appender-ref ref="console"/>
</logger>