[python] 파이썬 가상환경(virtualenv)을 사용하여 웹 애플리케이션의 로깅을 관리하는 방법은 무엇인가요?
가상환경 설정
- 가상환경 생성 및 활성화
$ python3 -m venv myenv $ source myenv/bin/activate
- 필요한 패키지 설치
$ pip install flask $ pip install flask-logging
- 웹 애플리케이션 코드 작성
from flask import Flask from flask_logging import FlaskLogging # Flask 앱 생성 app = Flask(__name__) # 로깅을 위한 FlaskLogging 객체 생성 logger = FlaskLogging(app) # 라우트 설정 등 필요한 코드 작성 if __name__ == '__main__': # 웹 애플리케이션 실행 app.run()
위 코드에서는 FlaskLogging 모듈을 사용하여 앱을 초기화하고, 자동으로 로그를 생성 및 관리합니다.
- 로그 설정 파일 작성
[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
- 애플리케이션 실행
$ export FLASK_ENV=development $ export FLASK_APP=app.py $ flask run
- 로그 확인 애플리케이션을 실행한 후, 콘솔 창에서 로그를 확인할 수 있습니다.
이제 가상환경 안에서 웹 애플리케이션을 실행하면 로그를 쉽게 관리할 수 있습니다. FlaskLogging 모듈을 사용하면 로그 레벨, 로그 포맷, 로깅 위치 등을 설정할 수 있어 더욱 편리하게 로깅을 관리할 수 있습니다.
참고 문서: