Skip to content

4.5. 로깅

4.5.1. 로깅 프레임워크

  • SLF4J + Logback을 사용합니다. (Spring Boot 기본 제공)
  • System.out.println()을 로깅 목적으로 사용하지 않습니다.

4.5.2. 로그 레벨 정책

레벨사용 기준
ERROR즉시 대응이 필요한 시스템 장애
WARN잠재적 문제, 비정상적이지만 서비스 운영 가능
INFO주요 비즈니스 이벤트, 애플리케이션 상태 변경
DEBUG개발 중 디버깅 정보 (프로덕션에서 비활성화)
TRACE상세 흐름 추적 (프로덕션에서 비활성화)

4.5.3. 로그 작성 규칙

  • 로거는 클래스별로 선언합니다.
java
private static final Logger log = LoggerFactory.getLogger(UserService.class);
  • 또는 Lombok @Slf4j 어노테이션을 사용합니다.
  • 로그 메시지에 파라미터 바인딩을 사용합니다.
java
// 잘못된 예
log.info("사용자 생성: " + userId);

// 올바른 예
log.info("사용자 생성: userId={}", userId);
  • 예외 로깅 시 스택 트레이스를 포함합니다.
java
log.error("사용자 조회 실패: userId={}", userId, exception);

4.5.4. 프로덕션 로그 포맷

xml
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>

TIENIPIA QUALIFIED STANDARD