LogtailHandler: implement logging.Handler.flush #26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implementing
flush
method on our handler.The method should be implemented by subclasses of
logging.Handler
. It's called automatically during graceful termination.https://github.com/python/cpython/blob/8e8a4baf652f6e1cee7acde9d78c4b6154539748/Lib/logging/__init__.py#L1039-L1046
The method will enforce uploading the current buffer to Better Stack sooner than in
flush_interval
, and will wait until all data are sent to Better Stack.Making
check_interval
configurable and decreasing the default value from 1s to 100ms, as it may have serious impact on short-running code (example project took ~1.3s to finish before this PR, now takes ~350ms).It is now safe to terminate execution immediately (eg. using
os._exit
), ifflush()
is called before: