./sysutils/py-structlog, Painless structural logging

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


Branch: CURRENT, Version: 24.1.0, Package name: py311-structlog-24.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: 1309.52 KB

Version history: (Expand)


CVS history: (Expand)


   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
   2022-04-30 13:11:01 by Thomas Klausner | Files touched by this commit (2)
Log message:
py-structlog: fix build by using wheel.mk

Add a missing test dependency, add test status
   2022-01-07 18:04:31 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-structlog: updated to 21.5.0

21.5.0 (2021-12-16)
-------------------
Changes:
- Added the ``structlog.processors.LogfmtRenderer`` processor to render log \ 
lines using the `logfmt <https://brandur.org/logfmt>`_ format.
- Added the ``structlog.stdlib.ExtraAdder`` processor that adds extra attributes \ 
of ``logging.LogRecord`` objects to the event dictionary.
  This processor can be used for adding data passed in the ``extra`` parameter \ 
of the ``logging`` module's log methods to the event dictionary.
- Added the ``structlog.processor.CallsiteParameterAdder`` processor that adds \ 
parameters of the callsite that an event dictionary orginated from to the event \ 
dictionary.
  This processor can be used to enrich events dictionaries with information such \ 
as the function name, line number and filename that an event dictionary \ 
orignated from.

21.4.0 (2021-11-25)
-------------------
Changes:
- Fixed import when running in optimized mode (``PYTHONOPTIMIZE=2`` or ``python \ 
-OO``).
- Added the ``structlog.threadlocal.bound_threadlocal`` and \ 
``structlog.contextvars.bound_contextvars`` decorator/context managers to \ 
temporarily bind key/value pairs to a thread-local and context-local context.

21.3.0 (2021-11-20)
-------------------
Backward-incompatible changes:
- ``structlog`` switched its packaging to `flit \ 
<https://flit.readthedocs.io/>`_.
  Users shouldn't notice a difference, but (re-)packagers might.

Changes:
- ``structlog.dev.ConsoleRenderer`` now has ``sort_keys`` boolean parameter that \ 
allows to disable the sorting of keys on output.
- ``structlog.processors.TimeStamper`` now works well with FreezeGun even when \ 
it gets applied before the loggers are configured.
- ``structlog.stdlib.AsyncBoundLogger`` now determines the running loop when \ 
logging, not on instantiation.
  That has a minor performance impact, but makes it more robust when loops \ 
change (e.g. ``aiohttp.web.run_app()``), or you want to use ``sync_bl`` *before* \ 
a loop has started.
- ``structlog.stdlib.ProcessorFormatter`` now has a *processors* argument that \ 
allows to define a processor chain to run over *all* log entries.

  Before running the chain, two additional keys are added to the event \ 
dictionary: ``_record`` and ``_from_structlog``.
  With them it's possible to extract information from ``logging.LogRecord``\s \ 
and differentiate between ``structlog`` and ``logging`` log entries while \ 
processing them.

  The old *processor* (singular) parameter is now deprecated, but no plans exist \ 
to remove it.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS