Path to this page:
Subject: CVS commit: pkgsrc/sysutils/py-structlog
From: Adam Ciarcinski
Date: 2025-01-29 22:38:08
Message id: 20250129213808.7BE9DFBE0@cvs.NetBSD.org
Log Message:
py-structlog: updated to 25.1.0
25.1.0
Added
- Add `structlog.stdlib.render_to_log_args_and_kwargs` processor.
Same as `structlog.stdlib.render_to_log_kwargs`, but also allows to pass \
positional arguments to `logging`.
With it, you do not need to add \
`structlog.stdlib.PositionalArgumentsFormatter` processor to format positional \
arguments from *structlog* loggers.
- Native loggers now have `is_enabled_for()` and `get_effective_level()` methods \
that mirror the behavior of the standard library's \
`logging.Logger.isEnabledFor()` and `logging.Logger.getEffectiveLevel()`.
Changed
- `structlog.typing.BindableLogger` protocol now returns `Self` instead of \
`BindableLogger`.
This adds a dependency on \
[*typing-extensions*](https://pypi.org/project/typing-extensions/) for Pythons \
older than 3.11.
- `structlog.dev.ConsoleRenderer` will quote string value with special characters.
- `structlog.stdlib.recreate_defaults()` now also adds \
`structlog.stdlib.PositionalArgumentsFormatter`.
In default native mode, this is done by the loggers at the edge.
- `structlog.make_filtering_bound_logger()` now also accepts a string for \
*min_level*.
Fixed
- Fix handling calls to `{logger}.exception()` outside of exception blocks.
Depending on the structlog configuration,
this either resulted in an event dict key `exception: "MISSING"` or \
lead to an error.
Now, an invalid or missing `exc_info` will just be ignored.
This means, that calling `{logger}.exception()` outside of an exception block \
is basically the same as calling `{logger}.error()`.
- Instantiating `structlog.dev.ConsoleRenderer` does not mutate the passed \
*styles* dict anymore.
- The native `FilteringBoundLogger.fatal()` method now maps to the critical \
level, as it does in the standard library.
Note that the level is discouraged to use there, so we recommend to stick to \
`error()` or `critical()`.
- `structlog.tracebacks.ExceptionDictTransformer` now actually accepts `None` \
for `locals_max_length` and `locals_max_string`.
Files: