From 5ea2ab14e6bc848e7782d4f8e3ee23ed8a0aa708 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 25 Mar 2013 14:42:44 -0400 Subject: [PATCH] ENH: elaborated debug log message about already detected failures Now it should be evaluated only if logging mode is debug or "lower", and also should happen not only on initial detections but for every added failure. It also reports counts per each IP now --- server/failmanager.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/server/failmanager.py b/server/failmanager.py index 82c2ed6f..93a3a351 100644 --- a/server/failmanager.py +++ b/server/failmanager.py @@ -105,8 +105,15 @@ class FailManager: fData.setLastReset(unixTime) fData.setLastTime(unixTime) self.__failList[ip] = fData - logSys.debug("Currently have failures from %d IPs: %s" - % (len(self.__failList), self.__failList.keys())) + + if logSys.getEffectiveLevel() <= logging.DEBUG: + # yoh: Since composing this list might be somewhat time consuming + # in case of having many active failures, it should be ran only + # if debug level is "low" enough + failures_summary = ', '.join(['%s:%d' % (k, v.getRetry()) + for k,v in self.__failList.iteritems()]) + logSys.debug("Currently have failures from %d IPs (IP:count): %s" + % (len(self.__failList), failures_summary)) self.__failTotal += 1 finally: self.__lock.release()