[Extras-cauldron-commits] r31 - trunk/buildme/buildlib
ed_ at garage.maemo.org
ed_ at garage.maemo.org
Sat May 17 22:34:52 EEST 2008
Author: ed_
Date: 2008-05-17 22:34:51 +0300 (Sat, 17 May 2008)
New Revision: 31
Modified:
trunk/buildme/buildlib/logger.py
Log:
added BuilderSMTPHandler
Modified: trunk/buildme/buildlib/logger.py
===================================================================
--- trunk/buildme/buildlib/logger.py 2008-05-17 16:50:24 UTC (rev 30)
+++ trunk/buildme/buildlib/logger.py 2008-05-17 19:34:51 UTC (rev 31)
@@ -27,6 +27,7 @@
__revision__ = "r"+"$Revision$".split(' ')[1]
import logging
+from logging.handlers import SMTPHandler
class CustomLogger(logging.Logger):
""" Custom Logger. Redefines formatter """
@@ -52,6 +53,21 @@
if self.manager.disable < self.SUMMARY and self.SUMMARY >= self.getEffectiveLevel():
apply(self._log, (self.SUMMARY, msg, args), kwargs)
+class BuilderSMTPHandler(SMTPHandler):
+ """ Custom SMTP handler. Sends all messages in one email """
+
+ def __init__(fromaddr, toaddrs, subject, mailhost='localhost'):
+ SMTPHandler.__init__(self, mailhost, fromaddr, toaddrs, subject)
+ self.buffer = []
+
+ def emit(self, record):
+ """ Append a record to the buffer """
+ self.buffer.append(record)
+
+ def flush(self):
+ """ Send buffer by email """
+ SMTPHandler.emit(self, buffer)
+
if __name__ == '__main__':
raise NotImplemented
More information about the Extras-cauldron-commits
mailing list