logging framework를 log4j가 아닌 logback을 사용하기 위해서
src/main/resources > log4j.xml을 삭제하고 logback.xml을 생성한다.
logback을 사용하는 이유는
log4j에 비해 우수한 성능으로 인정받고 있기 때문이다.
주목할만한 장점 중 하나는
log4j 구성과의 호환성이 좋아 log4j에서 logback으로의 전환이 단순하다는 것이다.
또한 Logback은 적극적으로 개발 및 유지 관리되어 최신 상태로 유지하려는 노력을 하고 있다.
logback의 공식 홈페이지는 https://logback.qos.ch/manual/configuration.html 이다.
위의 링크를 참고하여 logback.xml의 틀을 잡았다.
logback.xml
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
log를 간단히 보기 위해서 pattern을 수정했다.
<encoder>
<pattern>%d %5p [%c] %msg%n</pattern>
</encoder>
debug 레벨은 너무 많은 정보가 출력되므로 info 레벨로 수정했다.
<root level="info">
<appender-ref ref="STDOUT" />
</root>
좀 더 자세한 로그를 찍기 위해서 패키지 또는 클래스 별로 log를 설정했다.
STDOUT은 표준 출력 장치, 즉 콘솔(Console)을 나타낸다.
<logger name="com.basicWeb.www" level="info" appender-ref="STDOUT"></logger>
<logger name="org.springframework" level="info" appender-ref="STDOUT"></logger>
<logger name="org.springframework.jdbc" level="info" appender-ref="STDOUT"></logger>
<logger name="jdbc.sqlonly" level="info" appender-ref="STDOUT"></logger>
<logger name="jdbc.resultsettable" level="info" appender-ref="STDOUT"></logger>
전체적인 logback.xml은 다음과 같다.
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<!-- log를 간략화하여 간단히 보기 위해서 pattern 수정 -->
<pattern>%d %5p [%c] %msg%n</pattern>
</encoder>
</appender>
<!-- 좀 더 자세한 로그를 찍기 위해서 패키지 별로 log 설정 -->
<logger name="com.basicWeb.www" level="info" appender-ref="STDOUT"></logger>
<logger name="org.springframework" level="info" appender-ref="STDOUT"></logger>
<logger name="org.springframework.jdbc" level="info" appender-ref="STDOUT"></logger>
<logger name="jdbc.sqlonly" level="info" appender-ref="STDOUT"></logger>
<logger name="jdbc.resultsettable" level="info" appender-ref="STDOUT"></logger>
<!-- debug 레벨은 너무 많은 정보가 출력되므로 info 레벨로 수정(간략화) -->
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
src/main/resources 하위에 Untitled Text File을 생성하고 다음과 같은 코드를 작성하여
그 후, log4jdbc.log4j2.properties 이름으로 저장한다.
log4jdbc.log4j2.properties
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.log4j2.properties는 데이터베이스에 어떤 쿼리를 실행하고 있는지 로그로 남기는 데 활용한다.
[Spring] 02. logback.xml 설정과 og4jdbc.log4j2.properties
(다음 게시물 예고편)
[Spring] 03. Project의 초기 Frame 설정
얼렁뚱땅 주니어 개발자
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!