Daylogs/Python
Python: -v 옵션을 받아서 로깅 레벨 설정하기
ohgyun
2017. 2. 27. 00:07
발생일: 2016.04.12
키워드: python, 파이썬, 커맨드라인 옵션, argument parser, argparse, command parser, 파이썬 인자 받기, 파이썬 명령행 인자 받기, verbose options, logging level, 로깅 레벨, 파이썬 로깅
문제:
파이썬 모듈을 실행할 때, -v 또는 --verbose 옵션을 인자로 전달해서 로깅 레벨을 설정하고 싶다.
해결책:
역시 스택오버플로우에 해답이 있다.ㅎㅎ
커맨드라인 옵션을 파싱하는 목적의 argparse 모듈이 있고,
아래처럼 사용하면 간단히 구현할 수 있다.
import argparse
import logging
parser = argparse.ArgumentParser(
description='A test script for http://stackoverflow.com/q/14097061/78845'
)
parser.add_argument("-v", "--verbose", help="increase output verbosity",
action="store_true") # action="store_true"는 옵션이 있을 경우 True로 설정한다는 의미이다.
args = parser.parse_args()
if args.verbose: # 옵션이 있다면, 로깅 레벨을 디버그로 설정한다.
logging.basicConfig(level=logging.DEBUG)
logging.debug('Only shown in debug mode')
참고:
파이썬 로깅에 대해 친절히 설명해둔 블로그가 있다. (한글)
반응형