Skip to content

Commit

Permalink
로깅도 기능
Browse files Browse the repository at this point in the history
  • Loading branch information
jojoldu committed Jan 28, 2024
1 parent 3eb5a35 commit 4457199
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions posts/logging/loggin_is_feature/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 로깅도 기능이다.


1. 코드 대 로그/메트릭 비율이 낮습니다.
실제 예약 관련 코드 수만큼이나 많은 계측 코드 라인이 있다.

2. 계측 세부 정보에 대해 더 알아야 한다.
코드에는 사용해야 하는 메트릭 이름과 전달해야 하는 정확한 컨텍스트 내용 등이 참조되어 있다.

```typescript
log.error("Lost touch with Reality after " + timeout + "seconds");
log.trace("Distance traveled in the wilderness: " + distance);
```

이 두 기능은 하나의 구현을 공유하는 별개의 기능이다. 설명해 드리겠습니다.

- 지원 로깅(오류 및 정보)은 애플리케이션의 사용자 인터페이스의 일부이다.
- 이는 시스템 관리자 및 운영자뿐만 아니라 지원 담당자가 장애를 진단하거나 실행 중인 시스템의 진행 상황을 모니터링하기 위해 추적하기 위한 것이다.

- 진단 로깅(디버그 및 추적)은 프로그래머를 위한 인프라이다.
- 이는 프로그래머가 개발 중인 시스템 내부에서 어떤 일이 일어나고 있는지 이해하는 데 도움을 주기 위한 것이므로 프로덕션 환경에서는 켜지 말아야 한다.

이러한 차이점을 고려할 때 이 두 가지 유형의 로깅에 서로 다른 기술을 사용하는 것을 고려해야 한다.
지원 로깅은 감사나 장애 복구와 같은 누군가의 요구 사항에 따라 테스트 중심으로 이루어져야 한다.
테스트를 통해 각 메시지의 용도를 고려하고 제대로 작동하는지 확인할 수 있다.
또한 테스트는 다른 사람들이 이러한 로그 메시지를 분석하기 위해 작성한 도구와 스크립트가 손상되지 않도록 보호한다.
반면에 진단 로깅은 시스템에서 일어나는 일을 세밀하게 추적해야 하는 프로그래머의 필요성으로 적용 한다.
진단 로깅은 스캐폴딩이므로 테스트를 거칠 필요가 없으며 지원 로그처럼 메시지가 일관적일 필요도 없다.
결국 이러한 메시지를 운영 환경에서 사용하지 않는다.

0 comments on commit 4457199

Please sign in to comment.