From bdf52e225fac7b94d3a3704a1754063e6aa72749 Mon Sep 17 00:00:00 2001 From: Christian Herdtweck Date: Wed, 29 Jun 2016 17:03:43 +0200 Subject: [PATCH] deal with level given as string in I2nLogger.log or constructor --- src/log_helpers.py | 30 +++++++++++++++++++----------- 1 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/log_helpers.py b/src/log_helpers.py index 3794f34..1cbd2cf 100644 --- a/src/log_helpers.py +++ b/src/log_helpers.py @@ -217,6 +217,8 @@ class I2nLogger: .format(name)) self._log = logging.getLogger(name) + if isinstance(level, str): + level = LEVEL_DICT[level] self._level = min(MAX_LEVEL, max(MIN_LEVEL, level)) self._log.setLevel(self._level) @@ -253,36 +255,43 @@ class I2nLogger: _i2n_loggers[name] = self def dbg(self, message, *args, **kwargs): - self.log(DEBUG, message, *args, **kwargs) + self._log_no_test(DEBUG, message, *args, **kwargs) def debug(self, message, *args, **kwargs): - self.log(DEBUG, message, *args, **kwargs) + self._log_no_test(DEBUG, message, *args, **kwargs) def info(self, message, *args, **kwargs): - self.log(INFO, message, *args, **kwargs) + self._log_no_test(INFO, message, *args, **kwargs) def note(self, message, *args, **kwargs): - self.log(NOTICE, message, *args, **kwargs) + self._log_no_test(NOTICE, message, *args, **kwargs) def notice(self, message, *args, **kwargs): - self.log(NOTICE, message, *args, **kwargs) + self._log_no_test(NOTICE, message, *args, **kwargs) def warn(self, message, *args, **kwargs): - self.log(WARNING, message, *args, **kwargs) + self._log_no_test(WARNING, message, *args, **kwargs) def warning(self, message, *args, **kwargs): - self.log(WARNING, message, *args, **kwargs) + self._log_no_test(WARNING, message, *args, **kwargs) def err(self, message, *args, **kwargs): - self.log(ERROR, message, *args, **kwargs) + self._log_no_test(ERROR, message, *args, **kwargs) def error(self, message, *args, **kwargs): - self.log(ERROR, message, *args, **kwargs) + self._log_no_test(ERROR, message, *args, **kwargs) def critical(self, message, *args, **kwargs): - self.log(CRITICAL, message, *args, **kwargs) + self._log_no_test(CRITICAL, message, *args, **kwargs) def log(self, level, message, *args, **kwargs): + if isinstance(level, str): + level = LEVEL_DICT[level.lower()] + if level >= self._level: + self._log.log(level, message.format(*args), **kwargs) + + def _log_no_test(self, level, message, *args, **kwargs): + """ same as log() but without the isinstance test for internal use""" if level >= self._level: self._log.log(level, message.format(*args), **kwargs) @@ -333,7 +342,6 @@ def n_digits(number): else: return floor(log10(abs(number)))+1 - def is_interesting_count(counter): """ return True if counter has reached an "interesting" value -- 1.7.1