diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2002-06-04 20:00:26 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2002-06-04 20:00:26 (GMT) |
commit | 6fa82a34775576b90c8ec38e8968dfbb0b02e11d (patch) | |
tree | afe8b071be4b102359ec612a214828a064998b6a /Lib | |
parent | 9923ffe2c0f96b1b79f2f5ae39b64b55e038c566 (diff) | |
download | cpython-6fa82a34775576b90c8ec38e8968dfbb0b02e11d.zip cpython-6fa82a34775576b90c8ec38e8968dfbb0b02e11d.tar.gz cpython-6fa82a34775576b90c8ec38e8968dfbb0b02e11d.tar.bz2 |
A simple log mechanism styled after the proposed std library module
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/distutils/log.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Lib/distutils/log.py b/Lib/distutils/log.py new file mode 100644 index 0000000..f0a7865 --- /dev/null +++ b/Lib/distutils/log.py @@ -0,0 +1,56 @@ +"""A simple log mechanism styled after PEP 282.""" + +# The class here is styled after PEP 282 so that it could later be +# replaced with a standard Python logging implementation. + +DEBUG = 1 +INFO = 2 +WARN = 3 +ERROR = 4 +FATAL = 5 + +class Log: + + def __init__(self, threshold=WARN): + self.threshold = threshold + + def _log(self, level, msg, args): + if level >= self.threshold: + print msg % args + + def log(self, level, msg, *args): + self._log(level, msg, args) + + def debug(self, msg, *args): + self._log(DEBUG, msg, args) + + def info(self, msg, *args): + self._log(INFO, msg, args) + + def warn(self, msg, *args): + self._log(WARN, msg, args) + + def error(self, msg, *args): + self._log(ERROR, msg, args) + + def fatal(self, msg, *args): + self._log(FATAL, msg, args) + +_global_log = Log() +log = _global_log.log +debug = _global_log.debug +info = _global_log.info +warn = _global_log.warn +error = _global_log.error +fatal = _global_log.fatal + +def set_threshold(level): + _global_log.threshold = level + +def set_verbosity(v): + if v == 0: + set_threshold(WARN) + if v == 1: + set_threshold(INFO) + if v == 2: + set_threshold(DEBUG) |