Not a super exciting release, but it was time to deliver some fixes and quality-of-life features to the people!
Special Thanks
This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join them, go to https://github.com/sponsors/hynek and check out the sweet perks!
structlog.processors.MaybeTimeStamper that only adds a timestamp if there isn't one already. #81
structlog.dev.ConsoleRenderer now supports renamed timestamp keys using the timestamp_key parameter. #541
structlog.dev.RichTracebackFormatter that allows to configure the traceback formatting. #542
Fixed
FilteringBoundLogger.exception() and FilteringBoundLogger.aexception() now support positional argument formatting like the rest of the methods. #531
structlog.processors.format_exc_info() and structlog.dev.ConsoleRenderer do not crash anymore when told to format a non-existent exception. #533
23.1.0
Highlights
This release brings the hybrid approach to sync / async logging to structlog's standard library integration. You don't have to configure anything anymore, simply prepend the method name with an a and await it: await logger.ainfo("this is async!"). structlog.stdlib.AsyncBoundLogger will probably be deprecated in the future.
This release also brings support for FORCE_COLOR and NO_COLOR to structlog's default configuration. structlog was originally not meant to be used without configuration, but times have changed and we're breaking new ground!
structlog.stdlib.BoundLogger now has, analogously to our native logger, a full set of async log methods prefixed with an a: await log.ainfo("event!")#502
The default configuration now respects the presence of FORCE_COLOR (regardless of its value, unless an empty string).
This disables all heuristics whether it makes sense to use colors.
#503
The default configuration now respects the presence of NO_COLOR (regardless of its value, unless an empty string).
This disables all heuristics whether it makes sense to use colors and overrides FORCE_COLOR.
#504
Fixed
ConsoleRenderer now reuses the _figure_out_exc_info to process the exc_info argument like ExceptionRenderer does.
This prevents crashes if the actual Exception is passed for the exc_info argument instead of a tuple or True.
You can trigger a rebase of this PR 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 show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps structlog from 22.3.0 to 23.2.0.
Release notes
Sourced from structlog's releases.
... (truncated)
Changelog
Sourced from structlog's changelog.
... (truncated)
Commits
f5cbae4
Prepare 23.2.0c172022
docs: add recipe for stderr37f663e
Update codespell3dbc3d8
Minor typo fixes (#559)0f293da
[pre-commit.ci] pre-commit autoupdate (#558)19d4f6c
Bump actions/checkout from 3 to 4 (#557)739d4d9
Fix "default" TimeStamper args in docs/getting-started.md (#556)bb1799f
Fix changelog link43d3c9c
Check API with Pyright (#554)d8aebf9
Don't rely on monkeypatching for find caller testYou can trigger a rebase of this PR 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 show