borgend/fifolog.py

changeset 80
a409242121d5
parent 35
495a510a6d01
child 89
51cc2e25af38
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/borgend/fifolog.py	Sun Jan 28 11:54:46 2018 +0000
@@ -0,0 +1,18 @@
+#
+# FIFO memory logger
+#
+
+from logging.handlers import BufferingHandler
+
+class FIFOHandler(BufferingHandler):
+    def shouldFlush(self, record):
+        return False
+
+    def emit(self, record):
+        self.buffer.append(record)
+        l=len(self.buffer)
+        if l>self.capacity:
+            self.buffer=self.buffer[(l-self.capacity):(l-1)]
+
+    def formatAll(self):
+        return [self.format(record) for record in self.buffer]

mercurial