Asynchronous handlers for standard python logging library
Project description
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)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file aiolog-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: aiolog-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d54edbe9668b1fd905e136973448cb1924596cab21450d9461adaed16c0f6a8 |
|
MD5 | cc07a36cdb0b8ab4c137b5d120eeb767 |
|
BLAKE2b-256 | 2322a6e63b9cb793119ee625f8bdac2d050631557abd6e53748db2f1b8cc80d8 |