Path to this page:
Subject: CVS commit: pkgsrc/sysutils/py-structlog
From: Adam Ciarcinski
Date: 2021-02-07 16:42:49
Message id: 20210207154249.C25C5FA95@cvs.NetBSD.org
Log Message:
py-structlog: updated to 20.2.0
20.2.0
Backward-incompatible changes:
- Python 2.7 and 3.5 aren't supported anymore.
The package meta data should ensure that you keep getting 20.1.0 on those versions.
- ``structlog`` is now fully type-annotated.
This won't break your applications, but if you use Mypy, it will most likely \
break your CI.
Check out the new chapter on typing for details.
Deprecations:
- Accessing the ``_context`` attribute of a bound logger is now deprecated.
Please use the new ``structlog.get_context()``.
Changes:
- ``structlog`` has now type hints for all of its APIs!
Since ``structlog`` is highly dynamic and configurable, this led to a few \
concessions like a specialized ``structlog.stdlib.get_logger()`` whose only \
difference to ``structlog.get_logger()`` is that it has the correct type hints.
We consider them provisional for the time being – i.e. the backward \
compatibility does not apply to them in its full strength until we feel we got \
it right.
Please feel free to provide feedback!
- Added ``structlog.make_filtering_logger`` that can be used like \
``configure(wrapper_class=make_filtering_bound_logger(logging.INFO))``.
It creates a highly optimized bound logger whose inactive methods only consist \
of a ``return None``.
This is now also the default logger.
- As a complement, ``structlog.stdlib.add_log_level()`` can now additionally be \
imported as ``structlog.processors.add_log_level`` since it just adds the method \
name to the event dict.
- ``structlog.processors.add_log_level()`` is now part of the default configuration.
- ``structlog.stdlib.ProcessorFormatter`` no longer uses exceptions for control \
flow, allowing ``foreign_pre_chain`` processors to use ``sys.exc_info()`` to \
access the real exception.
- Added ``structlog.BytesLogger`` to avoid unnecessary encoding round trips.
Concretely this is useful with *orjson* which returns bytes.
- The final processor now also may return bytes that are passed untouched to the \
wrapped logger.
- ``structlog.get_context()`` allows you to retrieve the original context of a \
bound logger.
- ``structlog.PrintLogger`` now supports ``copy.deepcopy()``.
- Added ``structlog.testing.CapturingLogger`` for more unit testing goodness.
- Added ``structlog.stdlib.AsyncBoundLogger`` that executes logging calls in a \
thread executor and therefore doesn't block.
Files: