@Slf4j로 로깅하기

ZEDY·2024년 4월 6일
0

[Backend] 서버 개발

목록 보기
7/10

개발할때 로그를 찍어보는 것은 개발의 디버깅에 필수 요소입니다.
이를 위해 @Slf4j 를 활용해 간편하게 찍어볼 수 있습니다.

1. 로그가 뭐야?

로그(Log)는 소프트웨어 시스템의 작동 상태나 이벤트에 대한 정보를 기록하는 것을 말합니다. 주로 디버깅, 모니터링, 분석 및 추적을 위해 사용됩니다. 로그는 보통 텍스트 파일이나 데이터베이스에 저장되며, 시간, 이벤트 유형, 발생 위치 등의 정보를 포함합니다.

2. 로그가 왜 중요한거야?

로그는 다음과 같은 이유로 중요합니다.

  • 디버깅과 문제 해결
    소프트웨어 시스템에서 발생하는 문제를 식별하고 해결하는 데 도움이 됩니다.
  • 성능 모니터링
    시스템의 성능을 추적하고 병목 현상을 식별하는 데 도움이 됩니다.
  • 보안
    보안 이벤트를 감지하고 이를 기록하여 보안 문제에 대한 대응을 할 수 있습니다.
  • 오류 추적
    소프트웨어에서 발생하는 오류를 추적하고 이를 수정하여 시스템의 안정성을 향상시킵니다.

3. @Slf4j가 뭐야?

@Slf4j는 롬복(Lombok) 라이브러리에서 제공하는 어노테이션 중 하나입니다. 이를 사용하면 Logger를 간편하게 생성할 수 있습니다.

4. @Slf4j 사용법

  1. 롬복 라이브러리를 프로젝트에 추가합니다.
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
  1. 사용하려는 클래스에 @Slf4j 어노테이션을 추가합니다.

예를 들어

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class MyClass {
    public void myMethod() {
        log.debug("This is a debug message");
        log.info("This is an info message");
        log.warn("This is a warning message");
        log.error("This is an error message");
    }
}

이제 MyClass 클래스 내에서는 Logger 변수인 log를 사용하여 다양한 로그 레벨의 메시지를 출력할 수 있습니다. 롬복이 자동으로 Logger 변수를 생성하고, 로깅 코드를 간소화해줍니다.

이를 통해 코드의 가독성이 향상되며, 로그 생성을 위한 반복적인 코드 작성을 줄일 수 있습니다.

네 가지 로그 레벨

위의 코드는 다음과 같은 네 가지 로그 레벨을 사용하고 있습니다.
디버그(Debug), 정보(Info), 경고(Warn), 오류(Error)입니다.

  1. Debug (디버그)

    • 로그 레벨 중 가장 낮은 수준입니다.
    • 디버깅 목적으로 사용됩니다.
    • 코드의 실행 경로, 변수 값 등 디테일한 정보를 기록합니다.
    • 개발 중에만 활성화되어야 합니다. 운영 환경에서는 비활성화되어야 합니다.
    • 성능에 영향을 미칠 수 있으므로 주의해서 사용해야 합니다.
  2. Info (정보)

    • 주요 이벤트나 상태 변경 등에 대한 정보를 기록합니다.
    • 일반적으로 시스템이 정상적으로 작동하는지를 추적하는 데 사용됩니다.
    • 운영 환경에서도 활성화될 수 있습니다.
    • 시스템의 주요 이벤트나 상태 변경에 대한 추적을 위해 사용됩니다.
  3. Warn (경고)

    • 잠재적인 문제를 나타내는 경고 메시지를 기록합니다.
    • 예상치 못한 이벤트나 잠재적인 오류 상황을 알리는 데 사용됩니다.
    • 시스템의 기능성은 계속 유지되지만 주의가 필요한 상황을 나타낼 때 사용됩니다.
  4. Error (오류)

    • 심각한 오류나 예외 상황을 나타내는 메시지를 기록합니다.
    • 시스템의 기능에 영향을 주는 오류 상황을 나타냅니다.
    • 반드시 처리되어야 하는 예외 상황에 사용됩니다.

따라서 이들은 각각의 상황에 맞게 사용됩니다. 개발 및 테스트 중에는 디버그 및 정보 로그가 자주 사용되며, 운영 환경에서는 경고 및 오류 로그가 중요합니다. 이를 통해 개발자는 시스템의 상태를 추적하고 문제를 식별하고 해결할 수 있습니다.

profile
IT기획/운영

0개의 댓글