mirror of
https://github.com/ZwareBear/awx.git
synced 2026-05-03 13:21:48 -05:00
rsyslogd: use %rawmsg-after-pri% instead of %msg%
after some prolonged RFC reading and tinkering w/ rsyslogd... cpython's SysLogHandler doesn't emit RFC3164 formatted messages in the format you'd expect; it's missing the ISO date, hostname, etc... along with other header values; the handler implementation relies on you to specify a syslog-like formatter (we've replaced all of this with our own *custom* logstash-esque formatter that effectively outputs valid JSON - without dates and other syslog header values prepended) because of this unanticipated format, rsyslogd chokes when trying to parse the message's parts; AWX is emitting: <priority>RAWJSON ...so the usage of `%msg%` isn't going to work for us, because rsyslog tries to parse *all* of the possible headers (and yells, because it can't find a date to parse): see: https://www.rsyslog.com/files/temp/doc-indent/configuration/properties.html#message-properties this is fine, because we don't *need* any of that message parsing anyways; in the end, we're *just* interested in forwarding the raw JSON/text content to the third party log handler
This commit is contained in:
committed by
Christian Adams
parent
8cdd42307c
commit
2a4b009f04
@@ -97,7 +97,7 @@ class LogstashFormatterBase(logging.Formatter):
|
||||
|
||||
@classmethod
|
||||
def serialize(cls, message):
|
||||
return ' ' + json.dumps(message, cls=DjangoJSONEncoder) + '\000'
|
||||
return json.dumps(message, cls=DjangoJSONEncoder) + '\n'
|
||||
|
||||
|
||||
class LogstashFormatter(LogstashFormatterBase):
|
||||
|
||||
Reference in New Issue
Block a user