-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
29 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | ||
``` | ||
|
||
이 두 기능은 하나의 구현을 공유하는 별개의 기능이다. 설명해 드리겠습니다. | ||
|
||
- 지원 로깅(오류 및 정보)은 애플리케이션의 사용자 인터페이스의 일부이다. | ||
- 이는 시스템 관리자 및 운영자뿐만 아니라 지원 담당자가 장애를 진단하거나 실행 중인 시스템의 진행 상황을 모니터링하기 위해 추적하기 위한 것이다. | ||
|
||
- 진단 로깅(디버그 및 추적)은 프로그래머를 위한 인프라이다. | ||
- 이는 프로그래머가 개발 중인 시스템 내부에서 어떤 일이 일어나고 있는지 이해하는 데 도움을 주기 위한 것이므로 프로덕션 환경에서는 켜지 말아야 한다. | ||
|
||
이러한 차이점을 고려할 때 이 두 가지 유형의 로깅에 서로 다른 기술을 사용하는 것을 고려해야 한다. | ||
지원 로깅은 감사나 장애 복구와 같은 누군가의 요구 사항에 따라 테스트 중심으로 이루어져야 한다. | ||
테스트를 통해 각 메시지의 용도를 고려하고 제대로 작동하는지 확인할 수 있다. | ||
또한 테스트는 다른 사람들이 이러한 로그 메시지를 분석하기 위해 작성한 도구와 스크립트가 손상되지 않도록 보호한다. | ||
반면에 진단 로깅은 시스템에서 일어나는 일을 세밀하게 추적해야 하는 프로그래머의 필요성으로 적용 한다. | ||
진단 로깅은 스캐폴딩이므로 테스트를 거칠 필요가 없으며 지원 로그처럼 메시지가 일관적일 필요도 없다. | ||
결국 이러한 메시지를 운영 환경에서 사용하지 않는다. |