• [Python-announce] structlog 23.3.0

    From Hynek Schlawack@hs@ox.cx to comp.lang.python.announce on Fri Dec 29 15:17:23 2023
    From Newsgroup: comp.lang.python.announce

    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--- Synchronet 3.20a-Linux NewsLink 1.114