728x90
반응형
로깅이란?
-> 프로그램이 동작할 때 발생하는 이벤트를 추적하는 행위
-> 기록을 통해 문제를 파악, 유지보수에 활용됨
- 성능에 관한 통계 정보 제공 가능
- 재현하기 힘든 버그에 대한 정보 제공
- 디버깅을 위한 정보 저장 가능
로깅 레벨
DEBUG < INFO < WARNING < ERROR < CRITICAL
- DEBUG: 상세한 정보
- INFO: 일반적인 정보
- WARNING: 예상치 못하거나 가까운 미래에 발생할 문제
- ERROR: 에러 로그. 심각한 문제
- 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()
반응형
댓글