fifolog.py

Wed, 24 Jan 2018 22:04:16 +0000

author
Tuomo Valkonen <tuomov@iki.fi>
date
Wed, 24 Jan 2018 22:04:16 +0000
changeset 62
b7d13b2ad67e
parent 35
495a510a6d01
permissions
-rw-r--r--

Turned Status and Operation into classes instead of dictionaries

#
# 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