본문 바로가기
백엔드/Spring Boot 이론

스프링 부트 로깅의 핵심: 디버깅과 운영 환경에서의 로깅 구성

by P_eli 2023. 12. 10.
728x90
반응형

스프링 부트에서 로깅을 효과적으로 활용하여 디버깅 및 운영 환경에서의 로깅을 어떻게 구성하는지에 대해 알아보겠습니다. 스프링 부트의 로깅은 애플리케이션의 문제를 신속하게 해결하고, 운영 환경에서의 성능 모니터링을 지원하는 데 있어서 핵심적인 역할을 합니다.

1. 디버깅을 위한 로깅

1.1 로그 레벨 활용

디버깅은 개발 중에 필수적인 과정입니다. 스프링 부트는 여러 로그 레벨을 제공하므로 필요에 따라 로그 레벨을 조절하여 디버깅을 진行할 수 있습니다.

 

# application.properties 또는 application.yml 파일에서 로그 레벨 설정 예시
logging.level.com.example=DEBUG

 

1.2 조건부 로깅

특정 조건에 따라 로그를 출력하도록 하는 것은 디버깅을 효과적으로 수행하는 데 도움이 됩니다.

if (logger.isDebugEnabled()) {
    logger.debug("디버그 메시지");
}

 

2. 운영 환경에서의 로깅

2.1 파일로 로그 저장

운영 환경에서는 로그를 파일로 저장하여 추후 분석에 활용할 수 있습니다.

# application.properties 또는 application.yml 파일에서 파일로 로그 저장 설정 예시
logging.file.name=mylog.log

 

2.2 일별 로그 파일 분리

로그를 일별로 분리하여 관리하면 로그 파일의 크기를 효과적으로 관리할 수 있습니다.

# application.properties 또는 application.yml 파일에서 로그 레벨 설정 예시
logging.file.name=mylog.log
logging.file.max-history=30
logging.file.max-size=10MB

 

2.3 외부 로그 시스템 연동

운영 환경에서는 로그를 별도의 로깅 시스템으로 전송하여 중앙 집중화된 로그 관리를 할 수 있습니다.

 

# Logback을 사용하는 경우 logback-spring.xml 파일에 설정
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <!-- Logstash 서버 주소 -->
    <destination>localhost:5000</destination>
    <!-- 로그 형식 지정 -->
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>

<root level="INFO">
    <appender-ref ref="LOGSTASH"/>
</root>

 

 

728x90
반응형