This is the seed-papertrail project.
Project description
Some utilities to time things and log things.
>>> import logging
>>> formatter = logging.Formatter("%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s")
>>> logger = logging.getLogger('papertrail')
>>> consoleHandler = logging.StreamHandler()
>>> consoleHandler.setFormatter(formatter)
>>> logger.addHandler(consoleHandler)
>>> logger.setLevel(logging.DEBUG)
Usage as a function decorator
>>> from seed_papertrail.decorators import papertrail
>>> @papertrail.warn
... def testing(): print 1
...
>>> testing()
1
2017-01-24 11:16:02,100 [MainThread ] [WARNI] __main__.testing 0.000021:
One can also specify a custom log message and a sample size argument:
>>> @papertrail.warn('this is likely to explode', sample=0.5)
... def testing(): print 1
...
>>> testing()
1
>>> testing()
1
>>> testing()
1
2017-01-24 11:38:56,068 [MainThread ] [WARNI] __main__.testing 0.000018: this is likely to explode
>>> testing()
1
2017-01-24 11:38:59,628 [MainThread ] [WARNI] __main__.testing 0.000019: this is likely to explode
>>> testing()
1
>>>
Usage as a context manager
>>> from seed_papertrail.decorators import papertrail
>>> with papertrail.timer('hulloo') as l:
... l.debug('more logging here!')
... print 1
...
2017-01-24 11:32:23,109 [MainThread ] [DEBUG] more logging here!
1
2017-01-24 11:32:23,115 [MainThread ] [DEBUG] 0.002581: hulloo, threshold:OK
>>>
You can also specify custom thresholds:
>>> with papertrail.timer('o_O', thresholds={'OK': (0, 0.1), 'FAIL': (0.1, 1000)}):
... time.sleep(6)
...
2017-01-24 11:45:00,717 [MainThread ] [DEBUG] 6.000664: o_O, threshold:FAIL
Addtionally the timer function allows one to specify the following keyword arguments:
level the logging level, defaults to DEBUG
logger the logger to log to, defaults to papertrail
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
seed-papertrail-1.5.1.tar.gz
(8.9 kB
view details)
Built Distribution
File details
Details for the file seed-papertrail-1.5.1.tar.gz
.
File metadata
- Download URL: seed-papertrail-1.5.1.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03375e3e870fdb2216e54d8b2fbc06edeb8de005c4e47b479c79b4f0f3d84f0e |
|
MD5 | 7126d98e822f8ad10867e37ef6d23768 |
|
BLAKE2b-256 | 5e82b16ba37fb2dc91ae00b6bd8c96ef6e7f0bcf2b8fa1f5e94abf248ea58da9 |
File details
Details for the file seed_papertrail-1.5.1-py2-none-any.whl
.
File metadata
- Download URL: seed_papertrail-1.5.1-py2-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9a3943045cd1fa00ec28add287dc90c4bb6a3e9be9740fa1b64aa45ae67f15d |
|
MD5 | 3c360e1e24757a5ab99fbbb3335f9dd5 |
|
BLAKE2b-256 | 453380cf95ea8dc883b825b42d2e92d7684951d75247faa499fa72d7bae0becf |