watchtower

Python CloudWatch Logging: Log Analytics and Application Intelligence

APACHE-2.0 License

Downloads
14.3M
Stars
783
Committers
39
watchtower - https://github.com/kislyuk/watchtower/releases/tag/v3.3.1 Latest Release

Published by kislyuk 2 months ago

  • Fix type errors introduced in #201 (required to restore compatibility with Python 3.8)

    • Test infrastructure improvements
watchtower - https://github.com/kislyuk/watchtower/releases/tag/v3.3.0

Published by kislyuk 2 months ago

  • Support log group tagging (#201)
watchtower - https://github.com/kislyuk/watchtower/releases/tag/v3.2.0

Published by kislyuk 6 months ago

  • Use timeout when waiting for queues to empty at shutdown
watchtower - https://github.com/kislyuk/watchtower/releases/tag/v3.1.0

Published by kislyuk 8 months ago

  • Avoid crashing flush() when CreateLogStream API call is throttled (#192)

    • Replace deprecated function datatime.utcnow() (#196)
watchtower - v3.0.1

Published by kislyuk over 1 year ago

  • Truncate messages based on bytes, not unicode characters (#181)

    • Test suite improvements (#180, #182)
watchtower - v3.0.0

Published by kislyuk almost 3 years ago

  • 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 with null. 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
    the json_serialize_default keyword argument.
watchtower - v2.1.1

Published by kislyuk almost 3 years ago

  • Use correct default log stream name
watchtower - v2.1.0

Published by kislyuk almost 3 years ago

  • Deconflict log streams from process pools in default log stream name

    • Documentation and CI improvements
watchtower - v2.0.1

Published by kislyuk almost 3 years ago

  • Update empty message filtering to catch formatted string case (#162)
watchtower - v2.0.0

Published by kislyuk almost 3 years ago

  • 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

watchtower - v1.0.6

Published by kislyuk almost 4 years ago

  • Catch OperationAbortedException in _idempotent_create. Fixes #136
watchtower - v1.0.5

Published by kislyuk almost 4 years ago

  • Don't crash if nextSequenceToken is missing. Fixes #134
watchtower - v1.0.4

Published by kislyuk almost 4 years ago

  • Protect against message storms from sending botocore debug logs
watchtower - v1.0.3

Published by kislyuk almost 4 years ago

  • Apply filter to self instead of forcing log level on shutdown
watchtower - v1.0.2

Published by kislyuk almost 4 years ago

Force botocore logging level to be INFO or higher on shutdown

watchtower - v1.0.1

Published by kislyuk almost 4 years ago

  • Add fix/tests for log stream re-creation regression (#131)
watchtower - v1.0.0

Published by kislyuk almost 4 years ago

  • Fix sequence token cache (#116)

    • Drop compatibility for Python 2 (#109)

    • Fix message truncation for messages above AWS limit (#112)

    • Allow custom endpoint url (#114)

    • Package API is stable

watchtower - v0.8.0

Published by kislyuk over 4 years ago

  • Create log streams lazily (#97)

    • Test and package infrastructure improvements
watchtower - v0.7.3

Published by kislyuk about 5 years ago

  • Bug fix on log group retention (#80)
watchtower - v0.7.2

Published by kislyuk about 5 years ago

Fix another Homebrew-related release failure

Package Rankings
Top 1.49% on Pypi.org
Top 19.11% on Conda-forge.org
Related Projects