Index: Lib/distutils/log.py =================================================================== --- Lib/distutils/log.py (revision 72360) +++ Lib/distutils/log.py (working copy) @@ -1,5 +1,7 @@ """A simple log mechanism styled after PEP 282.""" +import sys + # The class here is styled after PEP 282 so that it could later be # replaced with a standard Python logging implementation. @@ -9,10 +11,8 @@ ERROR = 4 FATAL = 5 -import sys class Log: - def __init__(self, threshold=WARN): self.threshold = threshold @@ -39,30 +39,53 @@ def warn(self, msg, *args): self._log(WARN, msg, args) + def warning(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 +try: + import logging + log = logging.getLogger('distutils') -def set_threshold(level): - # return the old threshold for use from tests - old = _global_log.threshold - _global_log.threshold = level - return old + DEBUG = logging.DEBUG + INFO = logging.INFO + WARN = logging.WARNING + ERROR = logging.ERROR + FATAL = logging.CRITICAL -def set_verbosity(v): - if v <= 0: - set_threshold(WARN) - elif v == 1: - set_threshold(INFO) - elif v >= 2: - set_threshold(DEBUG) + def set_verbosity(v): + logging.basicConfig(format="%(levelname)s:%(name)s:%(module)s(%(lineno)d): %(message)s") + logging.getLogger().setLevel(logging.WARNING) + if v == 1: + logging.getLogger().setLevel(logging.INFO) + elif v >= 2: + logging.getLogger().setLevel(logging.DEBUG) + +except ImportError: + log = Log() + def set_threshold(level): + # return the old threshold for use from tests + old = log.threshold + log.threshold = level + return old + + def set_verbosity(v): + if v <= 0: + set_threshold(WARN) + elif v == 1: + set_threshold(INFO) + elif v >= 2: + set_threshold(DEBUG) + +debug = log.debug +info = log.info +warn = log.warn +warning = log.warn +error = log.error +fatal = log.fatal +