From 506b6dc4700e2b2086d8138965ee3d5a32c57d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ba=C5=A1ti?= Date: Fri, 29 Mar 2019 13:04:57 +0100 Subject: [PATCH] CLI: add --verbose option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enables logging at DEBUG level * also show traceback as debug log Signed-off-by: Martin Bašti --- operatorcourier/cli.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/operatorcourier/cli.py b/operatorcourier/cli.py index 60e2328..b64d185 100644 --- a/operatorcourier/cli.py +++ b/operatorcourier/cli.py @@ -2,17 +2,20 @@ import pkg_resources import sys import logging +import traceback + from operatorcourier import api def main(): """Generate the CLI bits """ - logging.basicConfig() try: parser = _CliParser() parser.parse() except Exception as e: # Exception raised to CLI should not be thrown to users, + logger = logging.getLogger(__name__) + logger.debug("Exit traceback: %s", traceback.format_exc()) sys.exit(str(e)) # it should just be captured by logs @@ -39,6 +42,10 @@ def parse(self): '-v', '--version', help='Show the current version of operator-courier', action='version', version=__version__) + parser.add_argument( + '--verbose', dest='verbose', + help="Provide detailed logs", + action='store_true', default=False) subparsers = parser.add_subparsers(title='subcommands') @@ -124,6 +131,10 @@ def parse(self): flatten_parser.set_defaults(func=self.flatten) args = parser.parse_args() + logging.basicConfig( + level=logging.DEBUG if args.verbose else logging.WARNING + ) + args.func(args) def verify(self, args):