일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 잡생각
- 매일
- 10분
- 링피트
- 뭐든
- FIT XR
- 월간
- 괜찮음
- 30분
- 화상영어
- 개발자
- 스탭퍼
- 파비최
- 사이드
- 프로젝트
- 3줄정리
- leetcode
- Writing
- realclass
- 미드시청
- 읽기
- 운동
- 만화도
- 영어공부
- 영어원서읽기
- 쓰릴오브파이트
- Problem Solving
- English
- 리얼 클래스
- Daily Challenge
- Today
- Total
파비의 매일매일 공부기록
Two Scoops of Django - #27장 본문
이번장은 로깅에 대한 내용이다.
실무에서는 센트리를 사용하고 있는데, 센트리에 접속해봐도 뭔가 엄청 많긴 한데 읽어보기가 되게 어려웠다.
이 챕터를 통해 뭔가 팁을 얻을 수 있으면 좋을 듯.
1. 애플리케이션 로그 대 기타 로그 : 이번장에서는 애플리케이션 로그에 집중할 예정. 다른 로그도 그냥 넘어가서는 안됨
2. 왜 로깅에 신경을 쓰는가 : 로깅은 스택 트레이스나 디버깅 도구로는 충분하지 못할 때 이용하는 도구다. DEBUG, INFO, WARNING, ERROR, CRITICAL 레벨로 구성된다.
3. 각 로그 레벨은 어떤 경우에 해당하는가
- CRITICAL : 급한 주의를 요구할 때. 핵심 기능인 경우.
- ERROR : 상용 환경을 에러일 경우.
- WARNING : 중요도가 낮은 문제인 경우.
- INFO : 유용한 상태 정보인 경우.
- DEBUG : 디버그 관련 메시지인 경우.
4. 예외를 처리할 때 트레이스 백 로그 남길 것
- Logger.exception()은 ERROR 레벨에서 자동으로 트레이스 백과 로그를 포함
- 다른 로그 레벨에 대해서는 exec_info 옵션 키워드를 이용
5. 한 모듈당 한 개의 로거 쓰기 : 다른 모듈에서 로깅을 쓸 때 다른 곳에서 로거를 임포트 해서 재사용하지 말 것. 대신 새로운 로거를 모듈에 정의해서 쓸 것
6. 로컬에 로그 남기기와 로그 파일 로테이션 하기 : INFO나 그 이상은 디스크에 저장하기를 추천
7. 기타 팁
- 장고 문서의 로깅 부분에 나와 있는 세팅 파일에서 로그 컨트롤하기
- 디버깅할 때는 파이썬 로거를 DEBUG 레벨로 세팅하여 이용
- DEBUG 레벨에서 테스트를 끝낸 이후 해당 로그들을 INFO나 WARNING 레벨로 변경.
- 로깅 기능을 더 늦기 전에 추가할 것
- ERROR이나 그 이상의 로그에 대해 이메일을 받을 것
'Study > Python' 카테고리의 다른 글
Two Scoops of Django - #29장 (0) | 2021.06.30 |
---|---|
Two Scoops of Django - #28장 (0) | 2021.06.29 |
Two Scoops of Django - #26장 (0) | 2021.06.27 |
Two Scoops of Django - #25장 (0) | 2021.06.26 |
Two Scoops of Django - #24장 (0) | 2021.06.25 |