Skip to content

Instantly share code, notes, and snippets.

@chrono-meter
Created April 20, 2014 10:03
Show Gist options
  • Save chrono-meter/11110260 to your computer and use it in GitHub Desktop.
Save chrono-meter/11110260 to your computer and use it in GitHub Desktop.
Python argparse and logging
import sys
import argparse
import logging; logger = logging.getLogger('__main__')
def parse_args(args=None):
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', '-v', default=0, action='count')
return parser.parse_args(args)
def loglevel(verbose=0):
assert isinstance(verbose, int)
try:
return [
# logging.CRITICAL,
# logging.ERROR,
logging.WARNING, # default
logging.INFO,
logging.DEBUG,
logging.NOTSET,
][verbose]
except LookupError:
return logging.NOTSET
if __name__ == '__main__':
options = parse_args()
logging.basicConfig(level=loglevel(options.verbose), stream=sys.stderr)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment