From 627faca84376616dc7a2d6b4b15f6918e4a78cb1 Mon Sep 17 00:00:00 2001 From: es <362051950@qq.com> Date: Fri, 12 May 2023 18:10:22 +0800 Subject: [PATCH] fix UDPLogstashHandler --- logstash/handler_udp.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/logstash/handler_udp.py b/logstash/handler_udp.py index ec87a79..dde6321 100644 --- a/logstash/handler_udp.py +++ b/logstash/handler_udp.py @@ -1,8 +1,8 @@ from logging.handlers import DatagramHandler -from logstash.handler_tcp import TCPLogstashHandler +from logstash import formatter -class UDPLogstashHandler(TCPLogstashHandler, DatagramHandler): +class UDPLogstashHandler(DatagramHandler): """Python logging handler for Logstash. Sends events over UDP. :param host: The host of the logstash server. :param port: The port of the logstash server (default 5959). @@ -11,9 +11,15 @@ class UDPLogstashHandler(TCPLogstashHandler, DatagramHandler): :param version: version of logstash event schema (default is 0). :param tags: list of tags for a logger (default is None). """ + def __init__(self, host, port=5959, message_type='logstash', tags=None, fqdn=False, version=0): + super(UDPLogstashHandler, self).__init__(host, port) + if version == 1: + self.formatter = formatter.LogstashFormatterVersion1(message_type, tags, fqdn) + else: + self.formatter = formatter.LogstashFormatterVersion0(message_type, tags, fqdn) def makePickle(self, record): - return self.formatter.format(record) + return str.encode(self.formatter.format(record)) + b'\n' # For backward compatibility