Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 18, 2021

Bumps structlog from 21.1.0 to 21.2.0.

Release notes

Sourced from structlog's releases.

21.2.0

Highlights

  • Support for for beautiful (and helpful!) exceptions by integrating ConsoleRenderer with rich or better-exceptions.
  • Helpers to access thread-local and context-local context.
  • Deeper contextvars support.

Backward-incompatible changes:

  • To implement pretty exceptions (see Changes below), structlog.dev.ConsoleRenderer now formats exceptions itself.

    Make sure to remove format_exc_info from your processor chain if you configure structlog manually. This change is not really breaking, because the old use-case will keep working as before. However if you pass pretty_exceptions=True (which is the default if either rich or better-exceptions is installed), a warning will be raised and the exception will be renderered without prettyfication.

Deprecations:

none

Changes:

  • structlog is now importable if sys.stdout is None (e.g. when running using pythonw). #313

  • structlog.threadlocal.get_threadlocal() and structlog.contextvars.get_contextvars() can now be used to get a copy of the current thread-local/context-local context that has been bound using structlog.threadlocal.bind_threadlocal() and structlog.contextvars.bind_contextvars(). #331 #337

  • structlog.threadlocal.get_merged_threadlocal(bl) and structlog.contextvars.get_merged_contextvars(bl) do the same, but also merge the context from a bound logger bl. Same pull requests as previous change.

  • structlog.contextvars.bind_contextvars() now returns a mapping of keys to contextvars.Tokens, allowing you to reset values using the new structlog.contextvars.reset_contextvars(). #339

  • Exception rendering in structlog.dev.ConsoleLogger is now configurable using the exception_formatter setting. If either the rich or the better-exceptions package is present, structlog will use them for pretty-printing tracebacks. rich takes precedence over better-exceptions if both are present.

    This only works if format_exc_info is absent in the processor chain. #330 #349

  • All use of colorama on non-Windows systems has been excised. Thus, colors are now enabled by default in structlog.dev.ConsoleRenderer on non-Windows systems. You can keep using colorama to customize colors, of course. #345

  • The final processor can now return a bytearray (additionally to str and bytes). #344

Changelog

Sourced from structlog's changelog.

21.2.0 (2021-10-12)

Backward-incompatible changes: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • To implement pretty exceptions (see Changes below), structlog.dev.ConsoleRenderer now formats exceptions itself.

    Make sure to remove format_exc_info from your processor chain if you configure structlog manually. This change is not really breaking, because the old use-case will keep working as before. However if you pass pretty_exceptions=True (which is the default if either rich or better-exceptions is installed), a warning will be raised and the exception will be renderered without prettyfication.

Deprecations: ^^^^^^^^^^^^^

none

Changes: ^^^^^^^^

  • structlog is now importable if sys.stdout is None (e.g. when running using pythonw). [#313](https://github.com/hynek/structlog/issues/313) <https://github.com/hynek/structlog/issues/313>_

  • structlog.threadlocal.get_threadlocal() and structlog.contextvars.get_contextvars() can now be used to get a copy of the current thread-local/context-local context that has been bound using structlog.threadlocal.bind_threadlocal() and structlog.contextvars.bind_contextvars(). [#331](https://github.com/hynek/structlog/issues/331) <https://github.com/hynek/structlog/pull/331>_ [#337](https://github.com/hynek/structlog/issues/337) <https://github.com/hynek/structlog/pull/337>_

  • structlog.threadlocal.get_merged_threadlocal(bl) and structlog.contextvars.get_merged_contextvars(bl) do the same, but also merge the context from a bound logger bl. Same pull requests as previous change.

  • structlog.contextvars.bind_contextvars() now returns a mapping of keys to contextvars.Token\s, allowing you to reset values using the new structlog.contextvars.reset_contextvars(). [#339](https://github.com/hynek/structlog/issues/339) <https://github.com/hynek/structlog/pull/339>_

  • Exception rendering in structlog.dev.ConsoleLogger is now configurable using the exception_formatter setting. If either the rich <https://github.com/willmcgugan/rich>_ or the better-exceptions <https://github.com/qix-/better-exceptions>_ package is present, structlog will use them for pretty-printing tracebacks. rich takes precedence over better-exceptions if both are present.

    This only works if format_exc_info is absent in the processor chain. [#330](https://github.com/hynek/structlog/issues/330) <https://github.com/hynek/structlog/pull/330>_ [#349](https://github.com/hynek/structlog/issues/349) <https://github.com/hynek/structlog/pull/349>_

  • All use of colorama on non-Windows systems has been excised. Thus, colors are now enabled by default in structlog.dev.ConsoleRenderer on non-Windows systems. You can keep using colorama to customize colors, of course. [#345](https://github.com/hynek/structlog/issues/345) <https://github.com/hynek/structlog/pull/345>_

  • The final processor can now return a bytearray (additionally to str and bytes). [#344](https://github.com/hynek/structlog/issues/344) <https://github.com/hynek/structlog/issues/344>_


Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [structlog](https://github.com/hynek/structlog) from 21.1.0 to 21.2.0.
- [Release notes](https://github.com/hynek/structlog/releases)
- [Changelog](https://github.com/hynek/structlog/blob/main/CHANGELOG.rst)
- [Commits](hynek/structlog@21.1.0...21.2.0)

---
updated-dependencies:
- dependency-name: structlog
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Oct 18, 2021
@dependabot dependabot bot requested a review from a team October 18, 2021 23:00
@ghost
Copy link

ghost commented Oct 18, 2021

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Duration: 10 min 39 sec

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

@kuisathaverat kuisathaverat merged commit 744924e into master Oct 19, 2021
@dependabot dependabot bot deleted the dependabot/pip/structlog-21.2.0 branch October 19, 2021 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants