| 74 | class TimeFilter(logging.Filter): |
| 75 | |
| 76 | def filter(self, record): |
| 77 | try: |
| 78 | last = self.last |
| 79 | except AttributeError: |
| 80 | last = record.relativeCreated |
| 81 | |
| 82 | delta = datetime.datetime.fromtimestamp(record.relativeCreated / 1000.0) - datetime.datetime.fromtimestamp(last / 1000.0) |
| 83 | |
| 84 | record.relative = '{0:.3f}'.format(delta.seconds + delta.microseconds / 1000000.0) |
| 85 | |
| 86 | self.last = record.relativeCreated |
| 87 | return True |
| 88 | |
| 89 | log = logging.getLogger() |
| 90 | fmt = logging.Formatter(fmt='+%(relative)ss %(levelname)-8s %(name)s %(message)s') |