From 0468c7d04520e8cdec5bca14ba88505b76d62422 Mon Sep 17 00:00:00 2001 From: Victor Gavro Date: Tue, 15 Feb 2022 20:59:37 +0200 Subject: [PATCH] sender: allow not to forward make packet error Signed-off-by: Victor Gavro --- fluent/sender.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fluent/sender.py b/fluent/sender.py index 68e86d5..dba5907 100644 --- a/fluent/sender.py +++ b/fluent/sender.py @@ -53,6 +53,7 @@ def __init__(self, verbose=False, buffer_overflow_handler=None, nanosecond_precision=False, + forward_packet_error=True, msgpack_kwargs=None, **kwargs): """ @@ -66,6 +67,7 @@ def __init__(self, self.verbose = verbose self.buffer_overflow_handler = buffer_overflow_handler self.nanosecond_precision = nanosecond_precision + self.forward_packet_error = forward_packet_error self.msgpack_kwargs = {} if msgpack_kwargs is None else msgpack_kwargs self.socket = None @@ -82,11 +84,11 @@ def emit(self, label, data): return self.emit_with_time(label, cur_time, data) def emit_with_time(self, label, timestamp, data): - if self.nanosecond_precision and isinstance(timestamp, float): - timestamp = EventTime(timestamp) try: bytes_ = self._make_packet(label, timestamp, data) except Exception as e: + if not self.forward_packet_error: + raise self.last_error = e bytes_ = self._make_packet(label, timestamp, {"level": "CRITICAL", @@ -125,6 +127,8 @@ def _make_packet(self, label, timestamp, data): tag = '.'.join((self.tag, label)) if self.tag else label else: tag = self.tag + if self.nanosecond_precision and isinstance(timestamp, float): + timestamp = EventTime(timestamp) packet = (tag, timestamp, data) if self.verbose: print(packet)