0 purchases
aiolog 0.1.1
Asynchronous handlers for standard python logging library.
Currently telegram (requires aiohttp)
and smtp (via aiosmtplib) handlers are available.
Installation
pip install aiolog
Repository: https://github.com/imbolc/aiolog
Configuration
Just use any way you prefer to configure built-in logging library, e.g.:
logging.config.dictConfig({
'version': 1,
'handlers': {
'telegram': {
# any built-in `logging.Handler` params
'level': 'DEBUG',
'class': 'aiolog.telegram.Handler',
# common `aiolog` params
'timeout': 10, # 60 by default
'queue_size': 100, # 1000 by default
# handler specific params
'token': 'your telegram bot token',
'chat_id': 'telegram chat id',
},
'smtp': {
'level': 'WARNING',
'class': 'aiolog.smtp.Handler',
'hostname': 'smtp.yandex.com',
'port': 465,
'sender': 'bot@email',
'recipient': 'your@email',
'use_tls': True,
'username': 'smtp username',
'password': 'smtp password',
},
},
'loggers': {
'': {
'handlers': [
'telegram',
'smtp',
],
'level': 'DEBUG',
},
}
})
Usage
You can use built-in logging library as usual,
just add starting and stopping of aiolog.
log = logging.getLogger(__name__)
async def hello():
log.debug('Hey')
aiolog.start()
loop = asyncio.get_event_loop()
loop.run_until_complete(hello())
loop.run_until_complete(aiolog.stop())
Look at the example folder for more examples.
aiohttp
With aiohttp, you can use a little more sugar.
Instead of starting and stopping aiolog directly, you can use:
aiolog.setup_aiohttp(app)
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.