백엔드 팀원 다같이 Logback을 사용해서 애플리케이션 단의 로그를 남기는 작업을 수행했습니다.

로그 레벨과 로그 파일 저장 등 정책을 정한 부분을 기록하기 위해 글을 작성합니다.


😋 Log4j2 프레임워크를 도입

처음에는 Log4j2 프레임워크를 사용해 로깅을 하는 것을 목표로 하였습니다.

사용 이유

비즈니스 로직에서 문제가 발생했을 때 로깅을 남기기 위해 로깅을 남겨야합니다. 스프링에서 사용할 수 있는 대표적인 두 가지 프레임워크인 LogbackLog4fj 중 비동기 처리로 인해 속도가 빠른 Log4fj를 사용하기로 결정하였습니다.

결과물

로그를 남길 상황과 각 상황의 로그 레벨을 결정하여 반영하였습니다. 로그 레벨 별로 파일에 저장할 지, 파일과 콘솔 모두 저장할 지 결정하여 반영하였습니다.

😅 Logback 프레임워크로 수정

사용 이유

로그에 대한 모니터링을 진행하는 도중 Log4j2와 CloudWatch를 연동하기 위한 자료가 부족하다는 것을 깨달았습니다. 그래서 Log4j2 프레임워크 대신 Logback 프레임워크로 이전하여 구현하였습니다.

어떤 설정을 하였나요?

Logback에서는 로그 메시지를 출력하기 위해 Appender를 사용합니다. XML파일로 관리하며 로그 메시지를 출력할 로그 레벨을 설정할 수 있습니다.

콘솔 로그 출력을 위한 Appender

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>${logPattern}</pattern>
        </layout>
    </appender>