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.