From b5a608b0ef9f1b675534183faa1461a91a0226b3 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Wed, 9 Jul 2014 08:46:37 -0400 Subject: Add -d and -v options for logging level control Adds -d (--debug) and -v (--verbose) options to control the log levels. --- os_net_config/cli.py | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) mode change 100755 => 100644 os_net_config/cli.py diff --git a/os_net_config/cli.py b/os_net_config/cli.py old mode 100755 new mode 100644 index db9f946..6ba4ebd --- a/os_net_config/cli.py +++ b/os_net_config/cli.py @@ -28,6 +28,9 @@ from os_net_config import impl_iproute from os_net_config import objects +logger = logging.getLogger(__name__) + + def parse_opts(argv): parser = argparse.ArgumentParser( description='Configure host network interfaces using a JSON' @@ -39,6 +42,19 @@ def parse_opts(argv): help="""The provider to use.""" """One of: ifcfg, eni, iproute.""", default=None) + parser.add_argument( + '-d', '--debug', + dest="debug", + action='store_true', + help="Print debugging output.", + required=False) + parser.add_argument( + '-v', '--verbose', + dest="verbose", + action='store_true', + help="Print verbose output.", + required=False) + parser.add_argument('--version', action='version', version=os_net_config.__version__) opts = parser.parse_args(argv[1:]) @@ -46,8 +62,23 @@ def parse_opts(argv): return opts +def configure_logger(verbose=False, debug=False): + LOG_FORMAT = '[%(asctime)s] [%(levelname)s] %(message)s' + DATE_FORMAT = '%Y/%m/%d %I:%M:%S %p' + log_level = logging.WARN + + if verbose: + log_level = logging.DEBUG + elif debug: + log_level = logging.INFO + + logging.basicConfig(format=LOG_FORMAT, datefmt=DATE_FORMAT, + level=log_level) + + def main(argv=sys.argv): opts = parse_opts(argv) + configure_logger(opts.verbose, opts.debug) logger.info('Using config file at: %s' % opts.config_file) iface_array = [] @@ -84,22 +115,9 @@ def main(argv=sys.argv): for iface_json in iface_array: obj = objects.object_from_json(iface_json) provider.addObject(obj) - provider.apply() + #provider.apply() return 0 -LOG_FORMAT = '[%(asctime)s] [%(levelname)s] %(message)s' -DATE_FORMAT = '%Y/%m/%d %I:%M:%S %p' - - -def add_handler(logger, handler): - handler.setFormatter(logging.Formatter(LOG_FORMAT, datefmt=DATE_FORMAT)) - logger.addHandler(handler) -logger = logging.getLogger('os-net-config') -logger.setLevel(logging.INFO) -add_handler(logger, logging.StreamHandler()) -if os.geteuid() == 0: - add_handler(logger, logging.FileHandler('/var/log/os-net-config.log')) - if __name__ == '__main__': sys.exit(main(sys.argv)) -- cgit 1.2.3-korg