From 8701f839227ea2fcd6c2722e40d319c74c9e0eac Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Tue, 22 Oct 2019 12:12:22 -0400 Subject: [PATCH] fix a bug introduced upstream with settings.LOG_AGGREGATOR_AUDIT --- awx/main/utils/handlers.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/awx/main/utils/handlers.py b/awx/main/utils/handlers.py index 82d3a285bb..289f64d064 100644 --- a/awx/main/utils/handlers.py +++ b/awx/main/utils/handlers.py @@ -288,13 +288,17 @@ class AWXProxyHandler(logging.Handler): ''' thread_local = threading.local() + _auditor = None def __init__(self, **kwargs): # TODO: process 'level' kwarg super(AWXProxyHandler, self).__init__(**kwargs) self._handler = None self._old_kwargs = {} - if settings.LOG_AGGREGATOR_AUDIT: + + @property + def auditor(self): + if not self._auditor: self._auditor = logging.handlers.RotatingFileHandler( filename='/var/log/tower/external.log', maxBytes=1024 * 1024 * 50, # 50 MB @@ -307,6 +311,7 @@ class AWXProxyHandler(logging.Handler): return json.dumps(message) self._auditor.setFormatter(WritableLogstashFormatter()) + return self._auditor def get_handler_class(self, protocol): return HANDLER_MAPPING.get(protocol, AWXNullHandler) @@ -341,8 +346,8 @@ class AWXProxyHandler(logging.Handler): if AWXProxyHandler.thread_local.enabled: actual_handler = self.get_handler() if settings.LOG_AGGREGATOR_AUDIT: - self._auditor.setLevel(settings.LOG_AGGREGATOR_LEVEL) - self._auditor.emit(record) + self.auditor.setLevel(settings.LOG_AGGREGATOR_LEVEL) + self.auditor.emit(record) return actual_handler.emit(record) def perform_test(self, custom_settings):