From: Iustin Pop Date: Tue, 21 Oct 2008 15:45:28 +0000 (+0000) Subject: Improve the mcpu.Processor logging routines X-Git-Tag: v2.0.0beta1~421 X-Git-Url: https://code.grnet.gr/git/ganeti-local/commitdiff_plain/c0088fb96e4dbc25bc6fc35be93c8a81c526429f Improve the mcpu.Processor logging routines As discussed previously, many of the routinges in cmdlib.py are using logging functions as a carry-over from 1.2 (when these also showed the message on stderr/to the user), instead of actually warning the user. This patch extends the syntax for Processor.LogInfo/LogWarning in order to be easier to use them. Reviewed-by: imsnah --- diff --git a/lib/mcpu.py b/lib/mcpu.py index a361826..70816a5 100644 --- a/lib/mcpu.py +++ b/lib/mcpu.py @@ -220,19 +220,31 @@ class Processor(object): logging.debug("Step %d/%d %s", current, total, message) self._feedback_fn("STEP %d/%d %s" % (current, total, message)) - def LogWarning(self, message, hint=None): + def LogWarning(self, message, *args, **kwargs): """Log a warning to the logs and the user. - """ - logging.warning(message) - self._feedback_fn(" - WARNING: %s" % message) - if hint: - self._feedback_fn(" Hint: %s" % hint) + The optional keyword argument is 'hint' and can be used to show a + hint to the user (presumably related to the warning). If the + message is empty, it will not be printed at all, allowing one to + show only a hint. - def LogInfo(self, message): + """ + assert not kwargs or (len(kwargs) == 1 and "hint" in kwargs), \ + "Invalid keyword arguments for LogWarning (%s)" % str(kwargs) + if args: + message = message % tuple(args) + if message: + logging.warning(message) + self._feedback_fn(" - WARNING: %s" % message) + if "hint" in kwargs: + self._feedback_fn(" Hint: %s" % kwargs["hint"]) + + def LogInfo(self, message, *args): """Log an informational message to the logs and the user. """ + if args: + message = message % tuple(args) logging.info(message) self._feedback_fn(" - INFO: %s" % message)