From eed88a5d36aae8007203920a216c0985a68dc421 Mon Sep 17 00:00:00 2001 From: Justin Crown Date: Fri, 1 Sep 2017 11:00:33 -0700 Subject: [PATCH] allow source host override --- README.rst | 1 + logstash/formatter.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index aec1c3a..b7446fa 100644 --- a/README.rst +++ b/README.rst @@ -115,6 +115,7 @@ Modify your ``settings.py`` to integrate ``python-logstash`` with Django's loggi 'message_type': 'logstash', # 'type' field in logstash message. Default value: 'logstash'. 'fqdn': False, # Fully qualified domain name. Default value: false. 'tags': ['tag1', 'tag2'], # list of tags. Default: None. + 'source_host': 'my.app.com' # Manually override the source host sent to logstash. If set, hostname lookup will be skipped }, }, 'loggers': { diff --git a/logstash/formatter.py b/logstash/formatter.py index f5c4424..de0c85a 100644 --- a/logstash/formatter.py +++ b/logstash/formatter.py @@ -11,11 +11,14 @@ class LogstashFormatterBase(logging.Formatter): - def __init__(self, message_type='Logstash', tags=None, fqdn=False): + def __init__(self, message_type='Logstash', tags=None, fqdn=False, + source_host=None): self.message_type = message_type self.tags = tags if tags is not None else [] - if fqdn: + if source_host is not None: + self.host = source_host + elif fqdn: self.host = socket.getfqdn() else: self.host = socket.gethostname()