[log4sql] 콘솔에 인자값을 포함한 SQL 로그 출력
프로그래밍/JAVA 2012. 7. 23. 13:16 |log4sql
콘솔에 인자값을 포함한 SQL 로그 출력
1. 관련URL
http://log4sql.sourceforge.net/index_kr.html
2. 다운로드
http://sourceforge.net/projects/log4sql/files/
1. 라이브러리(log4sql.jar)를 다운 받고 빌드 PATH에 추가한다.
2. jdbc 관련 설정에서 Driver Class Name을 설정한다.
3. 파일첨부
다양한 라이브러리를 통해 SQL 로그를 남기지만 여러가지 불편한 사항이 많다. 특히 전달한 인자값을 쿼리와 분리시켜 SQL 로그를 남기는 것은 더더욱 불편함을 야기시킨다.
log4sql은 이러한 문제를 해결하여 인자값을 포함한 SQL로그를 콘솔로 보여준다. 개인적으로 느끼는 단점이라면 쿼리 가독성이 떨어져 다시 보기 좋게 변경해야 하는 것이었다. 관련 URL을 따라가면 매우 상세한 설명을 확인할 수 있을 것이다.
아래는 log4sql 사이트에 소개된 내용이다.
log4sql은 소스의 변경없이 간단한 설정변경만으로 모든 SQL의 실행로그를 보여줍니다.
개발을 할경우 우리는 무수히 많은 프레임웍과 도구들을 사용 합니다. View계층, Model계층 그리고 Controller또는 DataAcess계층에서 많은 도구들과 프레임웍은 현재 거의 모든 layer들에 걸쳐서 사용되고 개발되어지고 있습니다. 이런경우 개발자에게 중요한것중의 하나는 비즈니스 로직인 PL/SQL작업을 하는 것 입니다.
모든 PL/SQL작업은 SQL을 작성하고 실행한 후에 버그가 존재하가나 원하는 결과가 나오지 않을경우 수정하는 것이며 이런작업은 반복적으로 수행됩니다. 이런 경우에 우리는 jdbc또는 Connection Pooling(Apache DBCP) 또는 support 2PC (JTA,JOTM)등을 사용합니다.
또한 우리는 데이터 접근계층의 프레임웍으로 IBATIS나 SpringFramework을 사용할 경우 springJDBC 또는 HIBERNATE등을 사용합니다. 이런 상황에서 우리는 의문을 갖게 됩니다.
'내가 작성한 SQL이 정상적으로 작동한 것인가?', '내가 입력값으로 넣어준 값들이 제대로 등록된 SQL인가?' SQL을 확인하고자 개발 소스의 구석구석에 System.out.println(...)으로 확인을 할 것입니다.
개발이 종료된 시점에 주석으로 가려진 가독성이 떨어지는 소스는 유지보수담당자에게 머리아픈 소스가 될 것이고 운영상에 문제가 발생할 경우 해당 SQL을 다시 확인하는 복잡한 작업이 반복될 것입니다. 이런경우를 경험한 개발자라면 log4sql은 간단한 설정으로 많은 편리함을, 개발의 즐거움을 당신에게 드릴것 입니다.
감사합니다 :)