Sun, 21 Jan 2018 16:21:53 +0000
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] |