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)
Release files for aiolog 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiolog-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / aiolog-0.1.1-py3-none-any.whl
| Download URL | aiolog-0.1.1-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d54edbe9668b1fd905e136973448cb1924596cab21450d9461adaed16c0f6a8
|
|
BLAKE2b-256 checksum How to use checksums |
2322a6e63b9cb793119ee625f8bdac2d050631557abd6e53748db2f1b8cc80d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|