From b190d5033d980c87a6c07f933e17a1b2b7884648 Mon Sep 17 00:00:00 2001 From: Alek Ratzloff Date: Sat, 29 Jul 2023 21:07:59 -0700 Subject: [PATCH] Add log level command line argument Signed-off-by: Alek Ratzloff --- chanbans/__main__.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/chanbans/__main__.py b/chanbans/__main__.py index af96478..33fc28a 100644 --- a/chanbans/__main__.py +++ b/chanbans/__main__.py @@ -7,6 +7,8 @@ from .pull import pull def parse_args(): parser = argparse.ArgumentParser(description="Run 4chan bans archiver") + parser.add_argument('--log-level', choices=['debug', 'info', 'warning', 'error', 'critical'], default='info') + subparsers = parser.add_subparsers(title="Commands", dest="command") subcommands = set() @@ -36,7 +38,13 @@ def parse_args(): async def main(): args = parse_args() - logging.basicConfig(level=logging.INFO, format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s') + try: + level = getattr(logging, args.log_level.upper()) + except AttributeError: + print(f"ERROR: no such logging level {args.log_level}. Exiting") + raise SystemExit() + + logging.basicConfig(level=level, format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s') match args.command: case "pull": await pull()