본문 바로가기
Python

[Python] flask 로깅하기

by teamnova 2024. 6. 27.
728x90

안녕하세요 오늘은 flask 로 로깅하는 방법을 알아보도록 하겠습니다.

 

app.py 을 생성해줍니다.

from flask import Flask

app = Flask(__name__)

if not app.debug:
    # 즉 debug=true면 이는 false로서 아래 함수가 돌아간다.
    # 실제 상용화단계에서 로깅을 진행해라는 의미이다
    import logging
    from logging.handlers import RotatingFileHandler

    # logging 핸들러에서 사용할 핸들러를 불러온다.
    file_handler = RotatingFileHandler(
        'dave_server.log', maxBytes=2000, backupCount=10)
    file_handler.setLevel(logging.WARNING)
    # 어느 단계까지 로깅을 할지를 적어줌
    # app.logger.addHandler() 에 등록시켜줘야 app.logger 로 사용 가능
    app.logger.addHandler(file_handler)


@app.errorhandler(404)
def page_not_found(error):
    app.logger.error('이것은 중요한 에러입니다. page_not_found에서 일어났습니다.')
    return "<h1>해당 경로에 맞는 웹페이지가 없습니다. 문제가 지속되면, 죄송하지만 관리자에게 연락해주세요</h1>", 404


if __name__ == "__main__":
    app.run(host="0.0.0.0", port="8080", debug=False)
    # debug = true면 개발모드, false면 상용화된 모드

 

실행을 하면 dave_server.log 파일이 생성이 됩니다.

 

dave_server.log 파일 에 저장된 로그 입니다