로깅
: 어떤 소프트웨어가 실행될 때 발생하는 이벤트를 기록하는 것
- 중요도
: 로그의 심각 수준
: 래밸 (level) 혹은 심각도 (severity)로 측정
- DEBUG
: 상세한 정보
: 보통 문제를 진단할때만 사용
- INFO
: 예상대로 작동하는지에 대한 확인
- WARNING
: 예상치 못한 일이 발생했거나 미래에 발생할 문제에 대한 표시 (디스크 공간 부족 등)
: 소프트웨어는 정상적으로 동작
- ERROR
: 소프트웨어가 일부 기능을 수행하지 못한 경우
- CRITICAL
: 프로그램 자체가 계속 실행 되지 않을 수 있는 오류
console.log
: 가장 간단한 방법
: console.error / console.group 등을 사용
: 자바스크립트 성능에 악영향이 있음
로그 라이브러리
- winston
: 로그를 별도의 데이터베이스에 저장하고 콘솔 로그에 남길 수 있음
: 많이 사용하는 라이브러리
- buyan
: 시각적인 CLI를 제공하는 로깅 라이브러리
- log4js
: 로그 스트림, aggregator등을 지원하는 강력한 로그 라이브러리
: 언어에 상관없이 가장 많이 사용되었으나 최근 보안 이슈가 있었음
HTTP 요청 로깅
- morgan
: 서버 로그를 가져와 체계화 시켜 읽기 쉽게 정렬
: winston과 함께 사용 가능
로그 관리 시스템
: 별도로 로그를 관리 하는 시스템
: 별도의 로그 서버를 사용하는 개념
- Sentry
- Loggly
- MacAfee Enterprise Log Search
- GrayLog
- Splunk
- Logmatic
- Logstash
상태 모니터링 도구
: 서버의 성능을 추적하고 애플리케이션의 충돌 등을 기록
- PM2
: 가장 유명한 모니터링 도구
- Sematext
- Appmetrics
- ClinicJS
- AppSignal
- Express Status Mornitor
Reffence
'Programming > NodeJS' 카테고리의 다른 글
NodeJS memory leak 추적하는 방법 (메모리를 낭비하는 함수 추적) (0) | 2022.08.26 |
---|---|
NodeJS 유닛 테스트 (0) | 2022.08.16 |
NodeJS의 메모리 누수 확인 방법 (0) | 2022.08.13 |
NodeJS의 메모리 관리 방법 (V8 엔진과 가비지 컬렉션) (0) | 2022.08.13 |
NodeJS 순환 참조 문제 해결 방법 (typeerror: converting circular structure to json) (0) | 2022.08.01 |