From ffc5191e40484b2860c2f294d4aff79a9db2ec0f Mon Sep 17 00:00:00 2001 From: Roi Rav-Hon Date: Sun, 26 Mar 2017 16:28:19 +0300 Subject: [PATCH] Retry sending to logz.io --- logzio/handler.py | 22 ++++++++++++---------- setup.py | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/logzio/handler.py b/logzio/handler.py index df3e7bc..c5a4842 100644 --- a/logzio/handler.py +++ b/logzio/handler.py @@ -155,24 +155,27 @@ class LogzioHandler(logging.Handler): self.buffer_event.set() # Not configurable from the outside - sleep_between_retries = 2000 + sleep_between_retries = 2 number_of_retries = 4 success_in_send = False headers = {"Content-type": "text/plain"} for current_try in range(number_of_retries): - response = requests.post(self.url, headers=headers, data='\n'.join(temp_logs)) + try: + response = requests.post(self.url, headers=headers, data='\n'.join(temp_logs)) - if response.status_code != 200: # 429 400, on 400 print stdout - if response.status_code == 400: + if response.status_code != 200: # 429 400, on 400 print stdout + if response.status_code == 400: - print("Got unexpected 400 code from logz.io, response: {0}".format(response.text)) - self.backup_logs(temp_logs) + print("Got unexpected 400 code from logz.io, response: {0}".format(response.text)) + self.backup_logs(temp_logs) - if response.status_code == 401: - print("You are not authorized with logz.io! dropping..") - break + if response.status_code == 401: + print("You are not authorized with logz.io! dropping..") + break + except Exception as e: + print("Got exception while sending logs to Logz.io, Try ({}/{}). Message: {}".format(current_try + 1, number_of_retries, e.message)) sleep(sleep_between_retries) sleep_between_retries *= 2 @@ -181,7 +184,6 @@ class LogzioHandler(logging.Handler): break if not success_in_send: - # Write to file self.backup_logs(temp_logs) diff --git a/setup.py b/setup.py index aa21f94..0cfbb12 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_packages setup( name="logzio-python-handler", - version='1.0.4', + version='1.0.5', description="Logging handler to send logs to your Logz.io account with bulk SSL", keywords="logging handler logz.io bulk https", author="roiravhon",