This module implements an RFC 5424 IETF Syslog Protocol parser in Python, using the lark parser-generator. It should work on Python 2.7 or Python 3.3+.
The file example_syslog_server.py contains a fully-functional Syslog server which will receive messages on a UNIX domain socket and print them to stdout as JSON blobs.
On a fairly modern system (Xeon E3-1270v3), it takes about 230µs to parse a single syslog message and construct a SyslogMessage object (which is to say, you should be able to parse about 4300 per second with a single-threaded process). Are you really in that much of a rush, anyway?
If you're interested in a faster, non-Python alternative, you may also enjoy rust-syslog-rfc5424.
Install:
pip install -r requirements.txt
python setup.py install
Run:
sudo ./syslog_server.py -p [udp|tcp] --port [port_number]