noblklog

Non-blocking asyncio handlers for Python logging.


License
Apache-2.0
Install
pip install noblklog==0.5

Documentation

noblklog

Keep using the logging you're accustomed to, without having to fear it blocking your asyncio event loop.

import asyncio
import logging
import noblklog

logging.basicConfig(
    level=logging.INFO,
    handlers=[
        noblklog.AsyncStreamHandler(),
    ],
)
log = logging.getLogger(None)

log.info('It is logging synchronously outside an event loop! Magic!')

async def main():
    log.info('And asynchronously inside an event loop! Even more magic!')

asyncio.run(main())

For more details see the documentation.