본문 바로가기
카테고리 없음

웹 백엔드 - 로깅 (파이썬 Flask)

by nomfang 2021. 1. 19.
728x90
반응형

로깅이란?

-> 프로그램이 동작할 때 발생하는 이벤트를 추적하는 행위

-> 기록을 통해 문제를 파악, 유지보수에 활용됨

 

  • 성능에 관한 통계 정보 제공 가능
  • 재현하기 힘든 버그에 대한 정보 제공
  • 디버깅을 위한 정보 저장 가능

 

로깅 레벨

DEBUG < INFO < WARNING < ERROR < CRITICAL

  1. DEBUG: 상세한 정보
  2. INFO: 일반적인 정보
  3. WARNING: 예상치 못하거나 가까운 미래에 발생할 문제
  4. ERROR: 에러 로그. 심각한 문제
  5. CRITICAL: 프로그램 자체가 실행되지 않을 수 있는 문제
  • 파이썬 로거 레벨 설정에 따라서 하위 레벨은 출력이 되지 않는다
  • 기본 로거 레벨 세팅은 WARNING이기 때문에 설정 없이 INFO, DEBUG를 출력할 수 없다

python logger

기본적으로 아래와 같은 로깅 이력은 남기는 것이 좋음

  • 서버 시작 로그
  • 서버 포트 번호
  • 함수 호출
  • 데이터 의 입출력
import logging 

if __name__ : '__main__': 
    logging.info("hello!")
 
 ## 이 코드에서는 hello가 출력되지 않는다
 ## 기본 코드가 warnning이기 때문
 
 import logging 

if __name__ : '__main__': 
    logger = logging.getLogger() 
    logger.setlevel(logging.DEBUG) 
    logger.info("hello!")
    
 ## 이 경우는 hello가 출력된다

 

flask logger

플라스크 0.3 버전부터 자체적으로 logger를 제공한다

그냥 python logger를 사용해도 무방하다

 

from flask import Flask 
app = Flask(__name__) 
if __name__ == '__main__': 

    app.logger.info("test") 
    app.logger.debug("debug test") 
    app.logger.error("error test") 
    app.run()
반응형

댓글