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:
RevisionActionfile
1.24modifypkgsrc/sysutils/py-structlog/Makefile
1.19modifypkgsrc/sysutils/py-structlog/distinfo