fifolog.py

Wed, 24 Jan 2018 09:19:42 +0000

author
Tuomo Valkonen <tuomov@iki.fi>
date
Wed, 24 Jan 2018 09:19:42 +0000
changeset 60
10bd7e3906d9
parent 35
495a510a6d01
permissions
-rw-r--r--

py2app fails on several dependencies (xdg, pyyaml) that are satisfied
(pip reports installed), so remove them; need to be installed manually

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
495a510a6d01 Python indexes from zero...
Tuomo Valkonen <tuomov@iki.fi>
parents: 34
diff changeset
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]

mercurial