Conman Laboratories

Better living through software …

syslogintr

Sean Conner

This started out as a way to kill time while at my girlfriend's mom's house one weekend. I was curious about the protocol used by syslogd so I wrote some code to capture syslog messages and parse them. I was also playing around with Lua at the time, and thought that it might be a good idea to handle the higher level logic of filter syslog messages with Lua.

And thus, syslogintr was born.

Since then, I've read up a bit on rsyslogd and syslog-ng and found their configuration files horribly complex as they both try to handle complex filtering and logging scenarios in what can only be described as “an ad-hoc declarative language.” If you're going that route, you might as well embed a scripting language and be done with it.

I've been using syslogintr for six months now in a production environment and it's been very useful, despite the lack of RFC-3195 (icky icky ptui!) and RFC-5424 support; it only supports local Unix and UDP sockets. All the scripts that come in this package are in actual use.

While the license is the GNU GPL, I do grant an exemption for sections 5 and 6 of the license for any new or additional Lua code. Even though technically such would fall under the “modified work” clause, I do consider the Lua code to be a “configuration file” and not “source code” per se, so I am explicitely excluding it from the GNU GPL. The existing C and Lua code, however, is not exempted---only new or additional Lua code is.

There is some documentation with the package, plus some documentation on my blog.

If you use this project, or just have comments or questions, please drop me a line. Thanks.