1. Actuator Loggers 개요
- Spring Boot Actuator의 Loggers 기능은 애플리케이션의 로그 레벨을 런타임에 확인하고 설정할 수 있게 해주는 강력한 도구입니다.
- 이를 통해 운영 중인 애플리케이션의 로깅 동작을 동적으로 제어할 수 있습니다.
2. 로그 레벨
2.1 지원하는 로그 레벨
- Actuator는 다음과 같은 로그 레벨을 지원합니다
TRACE
: 가장 상세한 로깅 레벨DEBUG
: 디버깅을 위한 상세 정보INFO
: 일반적인 정보성 메시지WARN
: 경고성 메시지ERROR
: 오류 메시지FATAL
: 치명적인 오류 메시지OFF
: 로깅 비활성화null
: 명시적 설정 없음 (기본 설정 사용)
2.2 로그 레벨 구성
- 명시적 구성 레벨: 직접 설정한 로그 레벨
- 유효 로그 레벨: 로깅 프레임워크에 의해 적용된 실제 로그 레벨
3. 로거 설정 방법
3.1 로거 조회
/actuator/loggers
엔드포인트를 통해 전체 로거 목록 조회/actuator/loggers/{로거-이름}
으로 특정 로거의 설정 확인
3.2 로그 레벨 변경
{
"configuredLevel": "DEBUG"
}
- 특정 로거의 레벨을 변경하려면 해당 로거의 URI로 POST 요청을 보냅니다:
{
"configuredLevel": null
}
- 로거의 레벨을 기본값으로 되돌리려면
null
을 설정합니다
4. OpenTelemetry 통합
- OpenTelemetry(OTel)는 원격 측정 데이터를 생성, 수집 및 내보내기 위한 오픈 소스 관찰 가능성 프레임워크입니다.
- Cloud Native Computing Foundation(CNCF)에서 관리하며, 다음과 같은 주요 기능을 제공합니다.
- 통합된 데이터 모델: OpenTelemetry는 트레이스, 메트릭 및 로그를 포함한 다양한 원격 측정 데이터를 표준화된 형식으로 처리합니다.
- 벤더 중립성: OTel은 특정 벤더에 구애받지 않으며, 다양한 백엔드 시스템(예: Jaeger, Prometheus)으로 데이터를 전송할 수 있는 유연성을 제공합니다.
- 자동 계측 지원: OpenTelemetry는 코드에 최소한의 변경으로 자동 계측을 지원하여 개발자가 쉽게 원격 측정 데이터를 수집할 수 있도록 돕습니다.
- Collector: OpenTelemetry Collector는 원격 측정 데이터를 수신하고 처리하여 원하는 백엔드로 내보내는 역할을 합니다.
- Micrometer와 비교
- Micrometer는 자바 애플리케이션의 메트릭을 측정하는 도구
- OpenTelemetry는 이런 메트릭들을 포함해서 더 넓은 범위의 모니터링 데이터를 수집하고 표준화하는 도구