Specifically, the rubi syslog implementation does not allow us to use custom tools .
The rubi implementation of syslog uses syslog [C implementation] ( http://github.com/ruby/ruby/blob/trunk/ext/syslog/syslog.c#L36 ).
The implementation of syslog the C allows us to use a very short list of the names of objects: LOG_USER, LOG_MAIL, LOG_DAEMON, LOG_AUTH, LOG_SYSLOG, LOG_LPR, LOG_NEWS, LOG_UUCP, UUCP , LOG_CRON, LOG_AUTHPRIV, LOG_FTP, LOG_LOCAL0, LOG_LOCAL1, LOG_LOCAL2, LOG_LOCAL3, LOG_LOCAL4, LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7 .
So, in the end, I did to use one of the LOG_LOCALX objects that already exist for personal use.
Now I can configure syslog as follows:
# /etc/syslog.conf local5.* /var/log/myapp_events.log
And in Ruby do the following:
Syslog.open('myapp', Syslog::LOG_PID, Syslog::LOG_LOCAL5) { |s| s.info 'this is my message' }
I think syslog wants you to define custom tools .