Skip to content

A small Python module to parse RFC5424-formatted Syslog messages

License

Notifications You must be signed in to change notification settings

ariel-miculas/syslog-rfc5424-parser

 
 

Repository files navigation

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+.

Build Status PyPI version Documentation Status

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.

A word on performance

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.

Usage

Install:

pip install -r requirements.txt

python setup.py install

Run:

sudo ./syslog_server.py -p [udp|tcp] --port [port_number]

About

A small Python module to parse RFC5424-formatted Syslog messages

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%