Ruby и системный журнал и настраиваемые средства

Я новичок в использовании syslog.

Мы решили использовать syslog для отслеживания некоторых особых событий в нашем приложении Rails.

Проблема в том, что я не хочу использовать файл по умолчанию /var/log/system.log , а использовать собственный файл, например / var / log / myapp_events.log .

Я вижу, что для этого мне нужно определить свое собственное средство в /etc/syslog.conf следующим образом:

myapp_events.* /var/log/myapp_events.log

После перезапуска syslogd я вижу, что могу поиграть с ним прямо в консоли bash :

syslog -s -k Facility myapp_events Message "this is my message"

Сообщение появляется в /var/log/myapp_events.log , как и ожидалось , но я не могу воспроизвести это поведение с помощью syslog ruby ​​gem . Я пробовал:

require 'syslog'
Syslog.open('myapp_events', Syslog::LOG_PID | Syslog::LOG_CONS) { |s| s.warning 'this is my message' }  # sends the message to system.log
Syslog.open('myapp_events', Syslog::LOG_PID | Syslog::LOG_CONS, 'myapp_events') { |s| s.warning 'this is my message' }  # error because 'myapp_event' can't be converted to int.

Я вижу, что Syslog.open имеет третий аргумент, который является средством , но он должен быть целым числом, а у меня есть строка.

Есть предложения?

5
задан Rodrigue 29 December 2013 в 13:07
поделиться