forked from pool/python-structlog
- Update to 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. 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 OBS-URL: https://build.opensuse.org/request/show/925035 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-structlog?expand=0&rev=11
195 lines
10 KiB
Plaintext
195 lines
10 KiB
Plaintext
-------------------------------------------------------------------
|
||
Wed Oct 13 08:36:18 UTC 2021 - Michael Vetter <mvetter@suse.com>
|
||
|
||
- Update to 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.
|
||
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
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Feb 19 08:07:55 UTC 2021 - Michael Vetter <mvetter@suse.com>
|
||
|
||
- Update to 21.1.0:
|
||
* structlog.threadlocal.wrap_dict() now has a correct type
|
||
annotation. #290
|
||
* Fix isolation in structlog.contextvars. #302
|
||
* The default configuration and loggers are pickleable again. #301
|
||
* structlog.dev.ConsoleRenderer will now look for a logger_name
|
||
key if no logger key is set. #295
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jan 4 11:16:18 UTC 2021 - Michael Vetter <mvetter@suse.com>
|
||
|
||
- Update to 20.2.0:
|
||
Backward-incompatible changes:
|
||
* Python 2.7 and 3.5 aren't supported anymore. The package meta
|
||
data should ensure that you keep getting 20.1.0 on those versions. #244
|
||
* structlog is now fully type-annotated. This won't break your
|
||
applications, but if you use Mypy, it will most likely break your CI.
|
||
Deprecations:
|
||
* Accessing the _context attribute of a bound logger is now deprecated.
|
||
Please use the new structlog.get_context().
|
||
Changes:
|
||
* structlog has now type hints for all of its APIs! Since structlog
|
||
is highly dynamic and configurable, this led to a few concessions
|
||
like a specialized structlog.stdlib.get_logger() whose only difference
|
||
to structlog.get_logger() is that it has the correct type hints.
|
||
We consider them provisional for the time being – i.e. the backward
|
||
compatibility does not apply to them in its full strength until we
|
||
feel we got it right. Please feel free to provide feedback! #223, #282
|
||
* Added structlog.make_filtering_logger that can be used like
|
||
configure(wrapper_class=make_filtering_bound_logger(logging.INFO)).
|
||
It creates a highly optimized bound logger whose inactive methods
|
||
only consist of a return None. This is now also the default logger.
|
||
* As a complement, structlog.stdlib.add_log_level() can now
|
||
additionally be imported as structlog.processors.add_log_level
|
||
since it just adds the method name to the event dict.
|
||
* structlog.processors.add_log_level() is now part of the default configuration.
|
||
* structlog.stdlib.ProcessorFormatter no longer uses exceptions for
|
||
control flow, allowing foreign_pre_chain processors to use
|
||
sys.exc_info() to access the real exception.
|
||
* Added structlog.BytesLogger to avoid unnecessary encoding round trips.
|
||
Concretely this is useful with orjson which returns bytes. #271
|
||
* The final processor now also may return bytes that are passed
|
||
untouched to the wrapped logger.
|
||
* structlog.get_context() allows you to retrieve the original
|
||
context of a bound logger. #266,
|
||
* structlog.PrintLogger now supports copy.deepcopy(). #268
|
||
* Added structlog.testing.CapturingLogger for more unit testing goodness.
|
||
* Added structlog.stdlib.AsyncBoundLogger that executes logging
|
||
calls in a thread executor and therefore doesn't block. #245
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Mar 17 11:33:05 UTC 2020 - pgajdos@suse.com
|
||
|
||
- version update to 20.1.0
|
||
- This is the last version to support Python 2.7 (including PyPy) and 3.5.
|
||
All following versions will only support Python 3.6 or later.
|
||
- Added a new module ``structlog.contextvars`` that allows to have a global but context-local ``structlog`` context the same way as with ``structlog.threadlocal`` since 19.2.0.
|
||
`#201 <https://github.com/hynek/structlog/issues/201>`_,
|
||
`#236 <https://github.com/hynek/structlog/pull/236>`_
|
||
- Added a new module ``structlog.testing`` for first class testing support.
|
||
The first entry is the context manager ``capture_logs()`` that allows to make assertions about structured log calls.
|
||
`#14 <https://github.com/hynek/structlog/issues/14>`_,
|
||
`#234 <https://github.com/hynek/structlog/pull/234>`_
|
||
- Added ``structlog.threadlocal.unbind_threadlocal()``.
|
||
`#239 <https://github.com/hynek/structlog/pull/239>`_
|
||
- The logger created by ``structlog.get_logger()`` is not detected as an abstract method anymore, when attached to an abstract base class.
|
||
`#229 <https://github.com/hynek/structlog/issues/229>`_
|
||
- ``colorama`` isn't initialized lazily on Windows anymore because it breaks rendering.
|
||
`#232 <https://github.com/hynek/structlog/issues/232>`_,
|
||
`#242 <https://github.com/hynek/structlog/pull/242>`_
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Oct 17 06:35:14 UTC 2019 - Michael Vetter <mvetter@suse.com>
|
||
|
||
- Update to 19.2.0:
|
||
Backward-incompatible changes:
|
||
* Python 3.4 is not supported anymore. It has been unsupported by
|
||
the Python core team for a while now and its PyPI downloads are negligible.
|
||
It's very unlikely that structlog will break under 3.4 anytime soon,
|
||
but we don't test it anymore.
|
||
Changes:
|
||
* Full Python 3.8 support for structlog.stdlib.
|
||
* Added more pass-through properties to structlog.stdlib.BoundLogger.
|
||
To makes it easier to use it as a drop-in replacement for logging.Logger. #198
|
||
* structlog.stdlib.ProcessorFormatter now takes a logger object as an
|
||
optional keyword argument. This makes ProcessorFormatter work properly
|
||
with stuctlog.stdlib.filter_by_level(). #219
|
||
* structlog.dev.ConsoleRenderer now uses no colors by default, if
|
||
colorama is not available. #215
|
||
* structlog.dev.ConsoleRenderer now initializes colorama lazily, to
|
||
prevent accidental side-effects just by importing structlog. #210
|
||
* Added new processor structlog.dev.set_exc_info() that will set
|
||
exc_info=True if the method's name is exception and exc_info isn't
|
||
set at all. This is only necessary when the standard library integration
|
||
is not used. It fixes the problem that in the default configuration,
|
||
structlog.get_logger().exception("hi") in an except block would not print the
|
||
exception without passing exc_info=True to it explicitly. #130, #173, #200, #204
|
||
* A best effort has been made to make as much of structlog pickleable as possible
|
||
to make it friendlier with multiprocessing and similar libraries.
|
||
Some classes can only be pickled on Python 3 or using the dill library
|
||
though and that is very unlikely to change.
|
||
* So far, the configuration proxy, structlog.processor.TimeStamper,
|
||
structlog.BoundLogger, structlog.PrintLogger and structlog.dev.ConsoleRenderer
|
||
have been made pickelable. Please report if you need any another class fixed. #126
|
||
* Added a new thread-local API that allows binding values to a thread-local
|
||
context explicitly without affecting the default behavior of bind(). #222, #225
|
||
* Added pass_foreign_args argument to structlog.stdlib.ProcessorFormatter.
|
||
It allows to pass a foreign log record's args attribute to the event
|
||
dictionary under the positional_args key. #228
|
||
* structlog.dev.ConsoleRenderer now calls str() on the event value. #221
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Apr 2 11:12:35 UTC 2019 - mvetter@suse.com
|
||
|
||
- Update to 19.1.0:
|
||
* structlog.ReturnLogger and structlog.PrintLogger now have
|
||
a fatal() log method. #181
|
||
* Under certain (rather unclear) circumstances, the frame
|
||
extraction could throw an SystemError: error return without
|
||
exception set. A workaround has been added. #174
|
||
* structlog now tolerates passing through dicts to stdlib
|
||
logging. #187 #188 #189
|
||
- Use pytest macro
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Nov 29 08:06:43 UTC 2018 - ecsos@opensuse.org
|
||
|
||
- Fix source address and add missing source.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Nov 22 13:28:52 UTC 2018 - Karol Babioch <kbabioch@suse.de>
|
||
|
||
- Version update to 18.2.0
|
||
* Added structlog.stdlib.add_log_level_number() processor that adds the level
|
||
number to the event dictionary. Can be used to simplify log filtering.
|
||
* structlog.processors.JSONRenderer now allows for overwriting the default
|
||
argument of its serializer.
|
||
* Added try_unbind() that works like unbind() but doesn't raise a KeyError if
|
||
one of the keys is missing. #171
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Jul 31 12:37:20 UTC 2018 - kbabioch@suse.com
|
||
|
||
- Initial packaging of version 18.1.0
|