[Spring Boot] logback.xml 파일을 이용한 로그 남기기

logback.xml 파일을 이용하여 로그 남기기

- Mybatis를 이용하여 쿼리를 실행할 때 동적으로 작성한 쿼리의 실제 실행 모습이 보고싶었음.

- log4j를 이용했을 때는 net.sf.log4jdbc.Log4jdbcProxyDataSource 클래스로 DataSource를 만들어야 했으므로 설정을 변경하는 일이 있었음. (application.properties 나 Config 파일을 수정해야하는 경우)

- 그냥 DEBUG와 단순 INFO로 켜고 끄는 기능을 찾고 싶었음.

 

logback 파일 생성

ver. 1

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</Pattern>
        </layout>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

- 처음에는 단순히 로그를 좀 더 자세히 찍고 실행되는 SQL 쿼리를 보고 싶었음.

- root 레벨의 문자열을 DEBUG <-> INFO 로 바꿔가면서 로그가 필요할 때 DEBUG로 보면서 작업을 하려고 하였음.

 

ver. 2

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>log/%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="fileAppender" />
    </root>
</configuration>

 

- 하지만 로그는 단지 콘솔에 보이기만 하면 안될 것 같았음. 언젠가 나중에 서버에 배포했을 때를 생각하면 문제가 발생했을 때 콘솔만 보고 있을 건 아니기 때문임.

- 뭔가 파일 형태로 보관하고 싶었음. -> 언젠가는 용량때문에 정리해야할 파일이기 때문에 날짜별로 모아보려고 했음.

- 어마어마한 로그가 쌓일 테지만 직접 코딩으로 출력되는 내용만 쌓이기 때문에 에러위주로 담으려고 하였음.

ex) log.error("에러내용");  이런식으로

 

결론

- DataSource 바꿔가면서 했었던 지난 날을 아쉬워하며 스프링 부트를 공부하면서 얻게된 많은 편리함들에 감사함을 느꼈음.

- 그걸 직접 개발하셨을 스프링 부트 프로젝트 개발자님들을 존경함.

- 오픈소스가 영원히 지속되길...

 

 

댓글

Designed by JB FACTORY