From 1955eb67e57fbd93d4d8fd313445d84640b78377 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Mon, 27 May 2019 23:05:06 +0200 Subject: all tools: Creating a shared group of argument options. Processing this shared group too, changing the log level when logging options are specified. --- src/ee/logging.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'src/ee/logging.py') diff --git a/src/ee/logging.py b/src/ee/logging.py index c8fd48a..aadfdd3 100644 --- a/src/ee/logging.py +++ b/src/ee/logging.py @@ -4,17 +4,38 @@ __all__ = ["Log", "log"] class Log(object): + LEVEL_WARN = 3 + LEVEL_INFO = 2 + LEVEL_DEBUG = 1 + def __init__(self): - pass + self.level = Log.LEVEL_INFO def warn(self, msg): - print(color(msg, "orange")) + self._p(Log.LEVEL_WARN, color(msg, "orange")) def info(self, msg): - print(color(msg, "white")) + self._p(Log.LEVEL_INFO, color(msg, "white")) + + def summary(self, msg): + self._p(Log.LEVEL_INFO, color(msg, "white")) def debug(self, msg): - print(color(msg, "grey")) + self._p(Log.LEVEL_DEBUG, color(msg, "grey")) + + def _p(self, level, msg): + if level >= self.level: + print(msg) + + def set_level(self, level): + if level == "warn": + self.level = Log.LEVEL_WARN + elif level == "info": + self.level = Log.LEVEL_INFO + elif level == "debug": + self.level = Log.LEVEL_DEBUG + else: + self.level = Log.LEVEL_DEBUG log = Log() -- cgit v1.2.3