diff --git a/delugeClient/__init__.py b/delugeClient/__init__.py index 7672d56..637c118 100644 --- a/delugeClient/__init__.py +++ b/delugeClient/__init__.py @@ -7,16 +7,17 @@ from os.path import dirname, join path.append(dirname(__file__)) import logging -from utils import BASE_DIR, ColorizeFilter +from utils import BASE_DIR + +def addHandler(handler): + # handler.setLevel(logging.INFO) + handler.setFormatter(formatter) + logger.addHandler(handler) logger = logging.getLogger('deluge_cli') logger.setLevel(logging.DEBUG) fh = logging.FileHandler(join(BASE_DIR, 'deluge_cli.log')) -fh.setLevel(logging.DEBUG) +formatter = logging.Formatter('%(asctime)s| %(levelname)s | %(message)s') -formatter = logging.Formatter('%(asctime)s %(levelname)8s %(name)s | %(message)s') -fh.setFormatter(formatter) - -logger.addHandler(fh) -logger.addFilter(ColorizeFilter()) \ No newline at end of file +addHandler(fh) diff --git a/delugeClient/__main__.py b/delugeClient/__main__.py index d4a5e13..f5035e8 100644 --- a/delugeClient/__main__.py +++ b/delugeClient/__main__.py @@ -11,13 +11,12 @@ from pprint import pprint from deluge import Deluge from utils import ColorizeFilter, BASE_DIR from __version__ import __version__ +from __init__ import addHandler -logger = logging.getLogger('deluge_cli') ch = logging.StreamHandler() -ch.setLevel(logging.ERROR) -logger.addHandler(ch) - -logger.addFilter(ColorizeFilter()) +ch.addFilter(ColorizeFilter()) +addHandler(ch) +logger = logging.getLogger('deluge_cli') app = typer.Typer() deluge = Deluge() @@ -115,11 +114,14 @@ def version(): ''' print(__version__) +# Runs before any command @app.callback() def defaultOptions(debug: bool = typer.Option(False, '--debug', help='Set log level to debug'), info: bool = typer.Option(False, '--info', help='Set log level to info'), warning: bool = typer.Option(False, '--warning', help='Set log level to warning'), error: bool = typer.Option(False, '--error', help='Set log level to error')): - ch.setLevel(logging.WARNING) + ch.setLevel(logging.INFO) - if error == True: + if '--json' in sys.argv: + ch.setLevel(logging.CRITICAL) + elif error == True: ch.setLevel(logging.ERROR) elif warning == True: ch.setLevel(logging.WARNING) diff --git a/delugeClient/utils.py b/delugeClient/utils.py index 46fcc70..3c32c8c 100644 --- a/delugeClient/utils.py +++ b/delugeClient/utils.py @@ -60,7 +60,7 @@ class ColorizeFilter(logging.Filter): Class for setting specific colors to levels of severity for log output """ color_by_level = { - 10: 'chartreuse_3b', + 10: 'cyan', 20: 'white', 30: 'orange_1', 40: 'red'