15.[DRF] Logging 로깅의 개념
- 보통 print() 많이 사용하지만 로그 쓰면 좋음
- 내장된 logging 모듈이 이미 있음
- 로그 설정은 4부분으로 나뉨
- Loggers
- Handlers
- Filters
- Formatters
Loggers
- 로그 시스템의 엔트리포인트
- 각각의 logger는 메세지를 처리하는 버킷이다
- 로그 레벨 - 메세지의 심각도
- DEBUG - 디버깅 목적 정보
- INFO - 그냥 정보
- WARNING - 작은 문제
- ERROR - 큰 문제
- CRITICAL - 더 큰 문제
Handlers
- 로거안의 각 메세지를 어떻게 할 것인지 처리 - 스크린, 파일, 소켓에 메세지 띄울지
- 핸들러도 로그레벨이 있음
- 핸들러가 여러개일 수 있음 - ERROR 메세지만 처리하는 핸들러와 모든 메세지를 처리하는 핸들러
Filters
- 로그 기록에 추가적인 컨트롤 제공
- 출력 전의 로그를 변형시킬 수 있음
- 에러 메세지만 출력하게 하거나, ERROR 메세지를 WARNING으로 다운그레이드하거나
- 필터는 로거나 핸들러에 설치가능
- 여러개의 필터가 체인처럼 연결되어 동작할 수 있음
Formatters
- 문자열로 포맷팅해서 출력해줌
보안
- 어떤 정보가 수집되는지
- 어디에 저장될 것인지
- 어떻게 옮겨지는지
- 누가 권한이 있는지
특정 민감한 정보는 필터되서 기록에서 안 보이도록한다