fifolog.py

Sun, 21 Jan 2018 16:21:53 +0000

author
Tuomo Valkonen <tuomov@iki.fi>
date
Sun, 21 Jan 2018 16:21:53 +0000
changeset 34
9fce700d42de
child 35
495a510a6d01
permissions
-rw-r--r--

Log window and other logging improvements

34
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
1 #
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
2 # FIFO memory logger
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
3 #
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
4
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
5 from logging.handlers import BufferingHandler
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
6
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
7 class FIFOHandler(BufferingHandler):
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
8 def shouldFlush(self, record):
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
9 return False
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
10
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
11 def emit(self, record):
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
12 self.buffer.append(record)
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
13 l=len(self.buffer)
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
14 if l>self.capacity:
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
15 self.buffer=self.buffer[(l-self.capacity+1):l]
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
16
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
17 def formatAll(self):
9fce700d42de Log window and other logging improvements
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
18 return [self.format(record) for record in self.buffer]

mercurial