Releases: kislyuk/watchtower
v3.3.1
v3.3.0
v3.2.0
v3.1.0
v3.0.1
v3.0.0
- Use repr to represent all JSON fields of unknown types by
default. Previously, when passing a mapping (dictionary) as a log
message, watchtower would replace datetime objects with their
".isoformat()" string representation, and would replace all other
non-JSON-serializable objects withnull
. The new behavior is to
use the output of repr() to represent these non-JSON-serializable
objects. This change may cause your logger to log more data than you
intended, which is why it triggers a major version bump. If you use
watchtower to log sensitive information or objects with large repr
strings, you are advised to examine your log messages to see if any
newly visible data should be sanitized. If you need to customize
this behavior, you can pass a custom JSON default serializer using
thejson_serialize_default
keyword argument.
v2.1.1
v2.1.0
v2.0.1
v2.0.0
-
Rename log_group to log_group_name for consistency with the Boto3 API
-
Rename stream_name to log_stream_name for consistency with the Boto3 API
-
Introduce the ability to pass a Boto3 logs client and remove the ability to pass Boto3 sessions
-
Document the ability to pass a Boto3 configuration profile name for declarative configs
-
Remove the Django customization, which was deprecated and unneeded.
Django can use watchtower directly via its logging configuration as documented in the readme -
Introduce configurable log formatters. Special thanks to @terencehonles for starting this work (#117, #138)
-
Use logging.Handler.handleError to correctly handle errors while processing log records (#149)
-
Move stream name determining logic to separate method (#148)
-
Reset internal state on fork to prevent deadlocks in worker threads (#139)
-
Drop Python 3.5 support
-
Expand documentation
-
Update test and release infrastructure
-