def __init__(self, pkg_name, *commands, **kw): super(ArgumentParserWithLogging, self).__init__(pkg_name, *commands, **kw) self.add_argument('--log', default=get_colorlog(pkg_name), help=argparse.SUPPRESS) self.add_argument('--log-level', default=logging.INFO, help='log level [ERROR|WARN|INFO|DEBUG]', type=lambda x: getattr(logging, x))
def get_parser_and_subparsers(prog, with_defaults_help=True, with_log=True): kw = dict(prog=prog) if with_defaults_help: kw.update(formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser = argparse.ArgumentParser(**kw) if with_log: parser.add_argument('--log', default=get_colorlog(prog), help=argparse.SUPPRESS) parser.add_argument('--log-level', default=logging.INFO, help='log level [ERROR|WARN|INFO|DEBUG]', type=lambda x: getattr(logging, x)) subparsers = parser.add_subparsers( title="available commands", dest="_command", description='Run "COMAMND -h" to get help for a specific command.', metavar="COMMAND") return parser, subparsers
def run(): log = get_colorlog(__name__, sys.stdout) log.info('msg')