pkgsrc/sysutils/py-structlog
adam 08e128e0c5 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``).
2021-10-26 17:29:40 +00:00
..
DESCR
distinfo py-structlog: updated to 21.2.0 2021-10-26 17:29:40 +00:00
Makefile py-structlog: updated to 21.2.0 2021-10-26 17:29:40 +00:00
PLIST py-structlog: updated to 20.2.0 2021-02-07 15:42:49 +00:00