./sysutils/py-structlog, Painless structural logging

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 25.1.0, Package name: py312-structlog-25.1.0, Maintainer: pkgsrc-users

structlog makes structured logging in Python easy by augmenting your existing
logger. It allows you to split your log entries up into key/value pairs and
build them incrementally without annoying boilerplate code.


Required to run:
[devel/py-setuptools] [lang/py-six] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 1332.981 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-29 22:38:08 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
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`.
   2024-08-09 20:59:31 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-structlog: updated to 24.4.0

24.4.0

Changed

No code changes since 24.3.0

24.3.0

Added

- Restore feature parity between `structlog.traceback.ExceptionDictTransformer` \ 
and Rich's traceback extractor:

 - When displaying locals, use Rich for formatting if it is available.
 - When displaying locals, call `repr()` on strings, too (improves handling of \ 
`SecretStr` implementations).
 - Add `locals_max_length` config option
 - Add `locals_hide_sunder` config option
 - Add `locals_hide_dunder` config option
 - Add `suppress` config option
   2024-06-07 22:59:35 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-structlog: updated to 24.2.0

24.2.0

Added

- It is now possible to disable log level-padding in \ 
`structlog.dev.LogLevelColumnFormatter` and `structlog.dev.ConsoleRenderer`.
- The `structlog.processors.CallsiteParameterAdder` can now be pickled.
- `structlog.processors.CallsiteParameterAdder` now also works with \ 
`structlog.stdlib.BoundLogger`'s non-standard async methods (`ainfo()`, and so \ 
forth)

Changed

- `structlog.processors.LogfmtRenderer` now escapes newlines.
- `structlog.processors.LogfmtRenderer` now escapes backslashes and double quotes.
- `structlog.processors.CallsiteParameterAdder` has been optimized to be about \ 
2x faster.

Fixed

- `structlog.stdlib.render_to_log_kwargs` now correctly passes stacklevel as a \ 
kwarg to stdlib logging.
   2024-01-08 20:56:14 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-structlog: updated to 24.1.0

24.1.0

Fixed

- The lazy logger proxy returned by `structlog.get_logger()` now returns its \ 
initial values when asked for context.
 When asked for context before binding for the first time, it returned an empty \ 
dictionary in 23.3.0.

- The displayed level name when using `structlog.stdlib.BoundLogger.exception()` \ 
is `"error"` instead of `"exception"`.
 Fixes regression in 23.3.0.

- Don't ignore the `width` argument of `RichTracebackFormatter`.

23.3.0

Added

- The colorful development logger is now even more configurable!
 Choose freely your colors and the order of the key-value pairs!
 Implement your own formatters for certain keys!

 Implementing the output on top of the new columns API has changed the default \ 
very slightly, but shouldn't be noticeable.

- Async log methods (those starting with an `a`) now also support the collection \ 
of callsite information using `structlog.processors.CallsiteParameterAdder`.

Changed

- `structlog.stdlib.recreate_defaults()` now also adds \ 
`structlog.stdlib.add_logger_name` to the processors.
 Check out the [updated \ 
screenshot](https://raw.githubusercontent.com/hynek/structlog/main/docs/_static/console_renderer.png)!

Fixed

- The return value from `get_logger()` (a `BoundLoggerLazyProxy`) now passes \ 
`isinstance`-checks against `structlog.typing.BindableLogger` on Python 3.12.

- `structlog.threadlocal.tmp_bind()` now also works with `BoundLoggerLazyProxy` \ 
(in other words: before anything is bound to a bound logger).

- stdlib: `ProcessorFormatter` can now be told to not render the log record \ 
message using `getMessage` and just `str(record.msg)` instead.

- stdlib: `structlog.stdlib.BoundLogger.exception()`'s handling \ 
of`LogRecord.exc_info` is now set consistent with `logging`.
   2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | Package updated
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
   2023-07-30 17:32:50 by Adam Ciarcinski | Files touched by this commit (19)
Log message:
Remove dependencies for Python 3.7
   2023-06-06 14:42:56 by Taylor R Campbell | Files touched by this commit (1319)
Log message:
Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/.

Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).

No change to BUILD_DEPENDS as used correctly inside buildlink3.

As proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
   2023-03-29 11:34:15 by Thomas Klausner | Files touched by this commit (96)
Log message:
*: use PYTHON_VERSION instead of _PYTHON_VERSION