• [Python-announce] structlog 23.3.0

    From Hynek Schlawack@21:1/5 to All on Fri Dec 29 15:17:23 2023
    I’m happy to announce a new release of structlog!

    With more than 7 million downloads per month, structlog is the best solution for production-ready structured logging in Python. It doesn’t just allow you to log key-value pairs in a structured manner, it also makes it EASIER and FASTER. Check out <
    https://www.structlog.org/en/stable/why.html> if you’re intrigued but not convinced!

    My heartfelt thanks go to my generous GitHub sponsors <https://github.com/sponsors/hynek> and companies subscribing to structlog on Tidelift <https://tidelift.com/subscription/pkg/pypi-structlog>.

    That's the support that made me maintain structlog for almost a decade with no end in sight! <3

    ------------------------------------------------------------------------

    (alternatively, see <https://github.com/hynek/structlog/releases/> for a richer-formatted version of the following)

    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!

    Above and Beyond

    Variomedia AG (@variomedia), Tidelift (@tidelift), FilePreviews (@filepreviews), Daniel Fortunov (@asqui), and Kevin P. Fleming (@kpfleming).

    Maintenance Sustainers

    Adam Hill (@adamghill), Dan Groshev (@si14), Magnus Watn (@magnuswatn), David Cramer (@dcramer), Moving Content AG (@moving-content), ProteinQure (@ProteinQure), Jesse Snyder (@jessesnyder), Rivo Laks (@rivol), Ionel Cristian Mărieș (@ionelmc), The
    Westervelt Company (@westerveltco), Philippe Galvan (@PhilippeGalvan), Birk Jernström (@birkjernstrom), Tim Schilling (@tim-schilling), Chris Withers (@cjw296), Christopher Dignam (@chdsbd), Stefan Hagen (@sthagen), Sławomir Ehlert (@slafs), Mostafa
    Khalil (@khadrawy), Filip Mularczyk (@mukiblejlok), and Mike Fiedler (@miketheman).

    Not to forget 6 more amazing humans who chose to be generous but anonymous!

    Full Changelog

    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. #577

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

    Changed

    - structlog.stdlib.recreate_defaults() now also adds structlog.stdlib.add_logger_name to the processors. Check out the updated screenshot!

    Fixed

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

    - 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. #550

    - stdlib: structlog.stdlib.BoundLogger.exception()'s handling ofLogRecord.exc_info is now set consistent with logging. #571 #572

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)