Wed, 24 Jan 2018 00:20:10 +0000
launch error handling fix
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: |
35 | 15 | self.buffer=self.buffer[(l-self.capacity):(l-1)] |
34
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] |