Path to this page:
Subject: CVS commit: pkgsrc/sysutils/py-structlog
From: Adam Ciarcinski
Date: 2021-10-26 19:29:40
Message id: 20211026172940.35557FA97@cvs.NetBSD.org
Log Message:
py-structlog: updated to 21.2.0
21.2.0 (2021-10-12)
-------------------
Backward-incompatible changes:
- To implement pretty exceptions (see Changes below), \
``structlog.dev.ConsoleRenderer`` now formats exceptions itself.
Make sure to remove ``format_exc_info`` from your processor chain if you \
configure ``structlog`` manually.
This change is not really breaking, because the old use-case will keep working \
as before.
However if you pass ``pretty_exceptions=True`` (which is the default if either \
``rich`` or ``better-exceptions`` is installed), a warning will be raised and \
the exception will be renderered without prettyfication.
Changes:
- ``structlog`` is now importable if ``sys.stdout`` is ``None`` (e.g. when \
running using ``pythonw``).
- ``structlog.threadlocal.get_threadlocal()`` and \
``structlog.contextvars.get_contextvars()`` can now be used to get a copy of the \
current thread-local/context-local context that has been bound using \
``structlog.threadlocal.bind_threadlocal()`` and \
``structlog.contextvars.bind_contextvars()``.
- ``structlog.threadlocal.get_merged_threadlocal(bl)`` and \
``structlog.contextvars.get_merged_contextvars(bl)`` do the same, but also merge \
the context from a bound logger *bl*.
Same pull requests as previous change.
- ``structlog.contextvars.bind_contextvars()`` now returns a mapping of keys to \
``contextvars.Token``\s, allowing you to reset values using the new \
``structlog.contextvars.reset_contextvars()``.
- Exception rendering in ``structlog.dev.ConsoleLogger`` is now configurable \
using the ``exception_formatter`` setting.
If either the `rich <https://github.com/willmcgugan/rich>`_ or the \
`better-exceptions <https://github.com/qix-/better-exceptions>`_ package \
is present, ``structlog`` will use them for pretty-printing tracebacks.
``rich`` takes precedence over ``better-exceptions`` if both are present.
This only works if ``format_exc_info`` is **absent** in the processor chain.
- All use of ``colorama`` on non-Windows systems has been excised.
Thus, colors are now enabled by default in ``structlog.dev.ConsoleRenderer`` \
on non-Windows systems.
You can keep using ``colorama`` to customize colors, of course.
- The final processor can now return a ``bytearray`` (additionally to ``str`` \
and ``bytes``).
Files: