using log.warn for sys.stderr
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index 012fca1..dfcbe23 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -352,9 +352,8 @@
# -- External world manipulation -----------------------------------
def warn (self, msg):
- sys.stderr.write("warning: %s: %s\n" %
- (self.get_command_name(), msg))
-
+ log.warn("warning: %s: %s\n" %
+ (self.get_command_name(), msg))
def execute (self, func, args, msg=None, level=1):
util.execute(func, args, msg, dry_run=self.dry_run)
diff --git a/Lib/distutils/log.py b/Lib/distutils/log.py
index fcaa545..6f949d5 100644
--- a/Lib/distutils/log.py
+++ b/Lib/distutils/log.py
@@ -18,13 +18,14 @@
def _log(self, level, msg, args):
if level >= self.threshold:
- if not args:
- # msg may contain a '%'. If args is empty,
- # don't even try to string-format
- print msg
+ if args:
+ msg = msg % args
+ if level in (WARN, ERROR, FATAL):
+ stream = sys.stderr
else:
- print msg % args
- sys.stdout.flush()
+ stream = sys.stdout
+ stream.write('%s\n' % msg)
+ stream.flush()
def log(self, level, msg, *args):
self._log(level, msg, args)