Skip to content

aiologging 0.1.0

Choose a tag to compare

@m6mok m6mok released this 09 Jul 06:38

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=True is normalized like in standard logging, so formatters render tracebacks
  • Correct dispatch of sync streams (StringIO, files) vs real asyncio.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.