diff --git a/logzio/handler.py b/logzio/handler.py index 0b319f3..697160e 100644 --- a/logzio/handler.py +++ b/logzio/handler.py @@ -17,7 +17,8 @@ class LogzioHandler(logging.Handler): logs_drain_timeout=3, url="https://listener.logz.io:8071", debug=False, - backup_logs=True): + backup_logs=True, + network_timeout=10.0): if not token: raise LogzioException('Logz.io Token must be provided') @@ -29,7 +30,8 @@ class LogzioHandler(logging.Handler): url=url, logs_drain_timeout=logs_drain_timeout, debug=debug, - backup_logs=backup_logs) + backup_logs=backup_logs, + network_timeout=network_timeout) logging.Handler.__init__(self) def extra_fields(self, message): diff --git a/logzio/sender.py b/logzio/sender.py index 6e81b26..0c8a95d 100644 --- a/logzio/sender.py +++ b/logzio/sender.py @@ -33,12 +33,14 @@ class LogzioSender: token, url='https://listener.logz.io:8071', logs_drain_timeout=5, debug=False, - backup_logs=True): + backup_logs=True, + network_timeout=10.0): self.token = token self.url = '{}/?token={}'.format(url, token) self.logs_drain_timeout = logs_drain_timeout self.logger = get_logger(debug) self.backup_logs = backup_logs + self.network_timeout = network_timeout # Function to see if the main thread is alive self.is_main_thread_active = lambda: any( @@ -104,7 +106,8 @@ class LogzioSender: should_retry = False try: response = requests.post( - self.url, headers=headers, data='\n'.join(logs_list)) + self.url, headers=headers, data='\n'.join(logs_list), + timeout=self.network_timeout) if response.status_code != 200: if response.status_code == 400: self.logger.info(