15.[DRF] Logging 로깅의 개념

  • 보통 print() 많이 사용하지만 로그 쓰면 좋음
  • 내장된 logging 모듈이 이미 있음
  • 로그 설정은 4부분으로 나뉨
    • Loggers
    • Handlers
    • Filters
    • Formatters

Loggers

  • 로그 시스템의 엔트리포인트
  • 각각의 logger는 메세지를 처리하는 버킷이다
  • 로그 레벨 - 메세지의 심각도
    • DEBUG - 디버깅 목적 정보
    • INFO - 그냥 정보
    • WARNING - 작은 문제
    • ERROR - 큰 문제
    • CRITICAL - 더 큰 문제

Handlers

  • 로거안의 각 메세지를 어떻게 할 것인지 처리 - 스크린, 파일, 소켓에 메세지 띄울지
  • 핸들러도 로그레벨이 있음
  • 핸들러가 여러개일 수 있음 - ERROR 메세지만 처리하는 핸들러와 모든 메세지를 처리하는 핸들러

Filters

  • 로그 기록에 추가적인 컨트롤 제공
  • 출력 전의 로그를 변형시킬 수 있음
  • 에러 메세지만 출력하게 하거나, ERROR 메세지를 WARNING으로 다운그레이드하거나
  • 필터는 로거나 핸들러에 설치가능
  • 여러개의 필터가 체인처럼 연결되어 동작할 수 있음

Formatters

  • 문자열로 포맷팅해서 출력해줌

보안

  • 어떤 정보가 수집되는지
  • 어디에 저장될 것인지
  • 어떻게 옮겨지는지
  • 누가 권한이 있는지

특정 민감한 정보는 필터되서 기록에서 안 보이도록한다