- 주의
 - 해당 설정은 개인 프로젝트의 디렉토리 경로 등에 디펜더시되어 있으며, 서비스 환경에서 로그 출력시 성능이 저하될 수 있으니 개발 환경에서 디버깅 용으로만 사용
 
- maven 라이브러리 추가
 
        <!-- sql로그를 남기기 위한 라이브러리 -->
        <dependency>
               <groupId>org.bgee.log4jdbc-log4j2</groupId>
                <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
               <version>1.16</version>
          </dependency>
- jdbc driverClassName을 "net.sf.log4jdbc.sql.jdbcapi.DriverSpy"로 변경
 - resources 디렉토리에 "log4jdbc.log4j2.properties" 파일 추가 후 아래 내용 작성
 
log4jdbc.spylogdelegator.name =  net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
#sql문을 최대 몇 라인까지 출력할지 여부: 0은 제한 없음
log4jdbc.dump.sql.maxlinelength=0
- logback 설정에 출력 및 미출력할 로그 어펜더 정의(샘플)
 
<logger name="jdbc" level="OFF"/>
    <logger name="jdbc.audit" level="OFF"/>
    <logger name="jdbc.connection" level="OFF"/>
    <!-- SQL문과 해당 SQL을 실행시키는데 수행된 시간  정보(milliseconds)를 포함한다. -->  
    <logger name="jdbc.sqltiming" additivity="false">
        <level value="DEBUG" />
        <appender-ref ref="CONSOLE" />
    </logger>
      <!-- SQL 결과 조회된 데이터의 table을 로그로 남긴다 -->
     <logger name="jdbc.resultsettable" additivity="false">
        <level value="DEBUG" />
        <appender-ref ref="CONSOLE" />
    </logger>
        <!-- SQL문만을 로그로 남기며, PreparedStatement일 경우  관련된 argument 값으로 대체된 SQL문이 보여진다 -->
<!--      <logger name="jdbc.sqlonly" additivity="false">  -->
<!--         <level value="DEBUG" /> -->
<!--         <appender-ref ref="CONSOLE" /> -->
<!--     </logger> -->
    <!-- ResultSet을 포함한 모든 JDBC 호출 정보를 로그로 남기므로  매우 방대한 양의 로그가 생성된다 -->
<!--      <logger name="jdbc.resultset" additivity="false">  -->
<!--         <level value="DEBUG" /> -->
<!--         <appender-ref ref="CONSOLE" /> -->
<!--     </logger> -->
'JAVA > Spring 일반' 카테고리의 다른 글
| spring model mapper 성능 관련 (0) | 2020.08.09 | 
|---|---|
| Spring restTemplate + OkHttp(for http 2 request) (0) | 2019.09.19 | 
| Spring API 개발시 예외(에러) 처리 방법 메모 (0) | 2019.05.28 | 
| spring MVC에서 리다이렉트 요청인지 체크하는 메소드 (0) | 2019.02.06 | 
| Spring boot에서 셧다운 이벤트 발생시 리스너 샘플 (0) | 2019.01.21 |