Merge pull request #3877 from ansible/backport-external-log-fix

backport a fix to external logging aggregation
This commit is contained in:
Ryan Petrello
2019-10-22 07:43:35 -04:00
committed by GitHub

View File

@@ -294,18 +294,19 @@ class AWXProxyHandler(logging.Handler):
super(AWXProxyHandler, self).__init__(**kwargs) super(AWXProxyHandler, self).__init__(**kwargs)
self._handler = None self._handler = None
self._old_kwargs = {} self._old_kwargs = {}
self._auditor = logging.handlers.RotatingFileHandler( if settings.LOG_AGGREGATOR_AUDIT:
filename='/var/log/tower/external.log', self._auditor = logging.handlers.RotatingFileHandler(
maxBytes=1024 * 1024 * 50, # 50 MB filename='/var/log/tower/external.log',
backupCount=5, maxBytes=1024 * 1024 * 50, # 50 MB
) backupCount=5,
)
class WritableLogstashFormatter(LogstashFormatter): class WritableLogstashFormatter(LogstashFormatter):
@classmethod @classmethod
def serialize(cls, message): def serialize(cls, message):
return json.dumps(message) return json.dumps(message)
self._auditor.setFormatter(WritableLogstashFormatter()) self._auditor.setFormatter(WritableLogstashFormatter())
def get_handler_class(self, protocol): def get_handler_class(self, protocol):
return HANDLER_MAPPING.get(protocol, AWXNullHandler) return HANDLER_MAPPING.get(protocol, AWXNullHandler)