티스토리 뷰
STS플러그인을 이용해서 Spring 프로젝트를 생성하면 일반적으로 log4j가 포함되어 있다.
MyBatis 연동을 하고나서 설정을 건드리지 않으면 쿼리는 콘솔창에 출력되지 않는다.
이럴 때는 log4j.xml 파일의 설정을 조금만 바꿔주면 간단히 해결된다.
/프로젝트명/src/main/resources폴더에 가면 일반적으로 log4j.xml 파일이 있을 것이다.
기본설정은 아래와 같을 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- Appenders --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p: %c - %m%n" /> </layout> </appender> <!-- Application Loggers --> <logger name="com.my.sample"> <level value="info" /> </logger> <!-- 3rdparty Loggers --> <logger name="org.springframework.core"> <level value="info" /> </logger> <logger name="org.springframework.beans"> <level value="info" /> </logger> <logger name="org.springframework.context"> <level value="info" /> </logger> <logger name="org.springframework.web"> <level value="info" /> </logger> <!-- Root Logger --> <root> <priority value="info" /> <appender-ref ref="console" /> </root> </log4j:configuration> | cs |
14~16라인이 문제이다.
level이 debug이하여야 sql문이 출력되는데 기본값은 info로 되어있다.
log4j의 level에 대해서는 아래의 블로그에 자세하게 나와있으니 참고하도록 하자.
http://myblog.opendocs.co.kr/archives/950
14라인은 java소스가 있는 패키지 경로를 의미하고, 프로젝트 생성 시 입력한 패키지가 기본값으로 들어가 있다.
15라인을 debug로 바꿔주면 아래와 같이 sql문이 출력되는 것을 볼 수 있다.
trace나 all로 바꾸면 아래와 같이 데이터까지 표시된다.
특별히 패키지별로 로그를 관리할 필요가 없다면 아래와 같이 하는 게 더 간편할수도 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- Appenders --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p: %c - %m%n" /> </layout> </appender> <!-- Application Loggers --> <!-- <logger name="com.my.sample"> --> <!-- <level value="info" /> --> <!-- </logger> --> <!-- 3rdparty Loggers --> <logger name="org.springframework.core"> <level value="info" /> </logger> <logger name="org.springframework.beans"> <level value="info" /> </logger> <logger name="org.springframework.context"> <level value="info" /> </logger> <logger name="org.springframework.web"> <level value="info" /> </logger> <!-- Root Logger --> <root> <priority value="debug" /> <appender-ref ref="console" /> </root> </log4j:configuration> | cs |
14~16라인을 주석처리하고, 37라인을 debug로 변경해줬다.
root logger는 별도로 설정된 패키지를 제외한 모든 패키지에 대한 설정인듯 하다.
이렇게 하면 패키지에 상관없이 모든 로그에 대한 설정을 한번에 할수 있다.
log4jdbc-remix를 사용하는 글이 많은데 특별한 목적이 없다면
sts에 기본적으로 포함되어 있는 log4j를 사용하고,
성능이나 기능상 부족함이 느껴지면 log4j2나 logback으로 갈아타는 것이 바람직해보인다.
'MyBatis' 카테고리의 다른 글
[MyBatis] 언더바(Underscore)가 포함된 필드명 CamelCase로 맵핑하기 (0) | 2018.08.02 |
---|
- Total
- Today
- Yesterday
- dropdowncombo
- git
- CodeSandbox
- Git 연동
- Grid
- JavaScript Hoisting 호이스팅
- dropdowncalendar
- IntelliJ
- ListView
- 인텔리제이
- Nexacro
- autoenter
- react 공식문서
- Git 사용법
- React
- react 강의
- nodatatext
- react 강좌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |