| 로그 레벨 | 용도 | 예시 |
|---|---|---|
| ERROR | 에러, 예외 상황 | DB 연결 실패, NPE |
| WARN | 경고, 잠재적 문제 | 느린 쿼리, 재시도 발생 |
| INFO | 일반 정보 | 앱 시작, 요청 처리 완료 |
| DEBUG | 디버깅용 상세 정보 | 변수 값, SQL 쿼리 |
| TRACE | 매우 상세한 정보 | 메서드 진입/종료 |
보통은 INFO 단계 정도까지만 사용
개발 시에는 상세한 DEBUG 로그가 필요한 경우도 있음
로그를 과하게 찍으면 성능 부담이 생김
설정 예(application.properties)
logging.level.root=INFO
SLF4J를 사용하여 로그 출력
- 로그 레벨 제어, 환경별 설정, 포맷팅 가능
사용 예 (Lombok @Slf4j 사용)
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController
public class HealthController {
@GetMapping("/log")
public String health() {
log.info("헬스체크 요청"); // INFO 레벨
log.debug("상세 디버깅 정보"); // DEBUG 레벨
log.error("에러 발생"); // ERROR 레벨
return "OK";
}
}