[python] 파이썬 가상환경(virtualenv)을 사용하여 웹 애플리케이션의 로깅을 관리하는 방법은 무엇인가요?

가상환경 설정

  1. 가상환경 생성 및 활성화
    $ python3 -m venv myenv
    $ source myenv/bin/activate
    
  2. 필요한 패키지 설치
    $ pip install flask
    $ pip install flask-logging
    
  3. 웹 애플리케이션 코드 작성
    from flask import Flask
    from flask_logging import FlaskLogging
    
    # Flask 앱 생성
    app = Flask(__name__)
    
    # 로깅을 위한 FlaskLogging 객체 생성
    logger = FlaskLogging(app)
    
    # 라우트 설정 등 필요한 코드 작성
    
    if __name__ == '__main__':
        # 웹 애플리케이션 실행
        app.run()
    

    위 코드에서는 FlaskLogging 모듈을 사용하여 앱을 초기화하고, 자동으로 로그를 생성 및 관리합니다.

  4. 로그 설정 파일 작성
    [loggers]
    keys = root
    
    [handlers]
    keys = console
    
    [formatters]
    keys = generic
    
    [logger_root]
    level = INFO
    handlers = console
    
    [handler_console]
    class = StreamHandler
    formatter = generic
    args = (sys.stdout, )
    
    [formatter_generic]
    format = %(asctime)s - %(name)s - %(levelname)s - %(message)s
    datefmt = %Y-%m-%d %H:%M:%S
    
  5. 애플리케이션 실행
    $ export FLASK_ENV=development
    $ export FLASK_APP=app.py
    $ flask run
    
  6. 로그 확인 애플리케이션을 실행한 후, 콘솔 창에서 로그를 확인할 수 있습니다.

이제 가상환경 안에서 웹 애플리케이션을 실행하면 로그를 쉽게 관리할 수 있습니다. FlaskLogging 모듈을 사용하면 로그 레벨, 로그 포맷, 로깅 위치 등을 설정할 수 있어 더욱 편리하게 로깅을 관리할 수 있습니다.

참고 문서: