조직이 서로 의존 할 수있는 많은 구성 요소를 실행하는 구성 요소 기반 아키텍처에서이 문제에 답합니다. 전파 실패 중에 로깅 레벨은 영향을받는 구성 요소와 근본 원인을 식별하는 데 도움이됩니다.
ERROR- 이 구성 요소에 오류 가 발생했으며 원인은 내부적 (내부 처리되지 않은 예외, 캡슐화 된 종속성 실패 ... 예 : 데이터베이스, REST 예는 종속성에서 4xx 오류를 수신했을 것임)으로 간주됩니다. 침대에서 나와 (이 구성 요소의 유지 관리자)를 꺼내십시오.
WARN- 이 구성 요소는 종속 구성 요소로 인한 것으로 생각되는 장애가 있습니다 (REST 예는 종속성의 5xx 상태 임). THAT 구성 요소의 관리자를 침대에서 꺼내십시오.
정보 -우리가 운영자에게 전달하고 싶은 다른 것. 올바른 경로를 기록하기로 결정한 경우 중요한 작업 (예 : 들어오는 http 요청) 당 1 개의 로그 메시지로 제한하는 것이 좋습니다.
모든 로그 메시지에 대해 유용한 컨텍스트를 기록해야합니다 (그리고 "오류 코드"를 많이 보지 않고 사람이 읽을 수 있도록 / 유용하도록 메시지의 우선 순위를 정하십시오)
- DEBUG (및 이하)-전혀 사용해서는 안됩니다 (및 프로덕션에서는 사용하지 않아야 함). 개발 중에는 로그 문이있는 오염 코드와 달리 TDD와 디버깅 (필요한 경우)의 조합을 사용하는 것이 좋습니다. 프로덕션에서는 다른 메트릭과 결합 된 위의 INFO 로깅이면 충분합니다.
위의 로깅 수준을 시각화하는 좋은 방법은 각 구성 요소에 대한 모니터링 화면 세트를 상상하는 것입니다. 모두 제대로 실행되면 녹색이고, 구성 요소에 경고가 기록되면 오류가 기록되면 주황색 (황색)이됩니다.
사고가 발생하면 하나의 (근본 원인) 구성 요소가 빨간색으로 바뀌고 영향을받는 모든 구성 요소가 주황색 / 황색으로 표시됩니다.