aiologging 0.1.0
First release of aiologging — an asynchronous logging library for Python 3.9+ with an API mirroring the standard logging module (await logger.info(...)).
Features
- Full standard-logging-style API: levels, filters, formatters, logger hierarchy with propagation
- Async handlers: streams, files, size- and time-based rotation (
aiofiles), HTTP with batching and pluggable authentication (aiohttp), JSON/text/protobuf formats - Buffered handlers with adaptive batching and retries
- Built-in performance metrics, rate limiting, custom error handlers
- Configuration from dictionaries, JSON files, or environment variables
- Optional dependencies — install only what you need:
pip install aiologging[aiofiles],[aiohttp],[protobuf],[all] - Fully typed, strict mypy,
py.typed
Notable fixes landed for this release
exc_info=Trueis normalized like in standard logging, so formatters render tracebacks- Correct dispatch of sync streams (
StringIO, files) vs realasyncio.StreamWriter - Closing a stream handler no longer closes
sys.stdout/sys.stderr - Removed incorrect
id(record)-keyed caches - Logging through a child of a closed parent logger no longer raises
See examples/ for runnable examples.