我在 ruby on rails 中使用 syslog-logger gem。默认情况下,它使用一个名为 user 的工具和一个名为 rails 的程序。如何将设施设置为“local0”或“local1”或任何其他设施?
问问题
416 次
1 回答
2
尝试这个:
require 'syslog_logger'
SyslogLogger::SYSLOG = Syslog.open('progname', Syslog::LOG_ODELAY, Syslog::LOG_LOCAL0)
RAILS_DEFAULT_LOGGER = SyslogLogger.new
将所需设施的常数替换为 Syslog.open 的第三个参数。注意 LOG_ODELAY 代表第二个参数的默认值;如果您需要特殊的系统日志行为,可以在那里使用其他值。
至于为什么这应该起作用,请查看初始化代码,您将在其中看到基于是否设置了 SyslogLogger::SYSLOG 以默认方式打开 Syslog。
于 2011-09-28T16:46:35.180 回答