1
我在rails上使用了ruby中的syslog-logger gem。这在默认情况下使用称为用户的设施以及称为rails的程序。我怎样才能将设施设置为'local0'或'local1'或任何其他设施?syslogger在rails中的设置设置除了用户
我在rails上使用了ruby中的syslog-logger gem。这在默认情况下使用称为用户的设施以及称为rails的程序。我怎样才能将设施设置为'local0'或'local1'或任何其他设施?syslogger在rails中的设置设置除了用户
试试这个:
require 'syslog_logger'
SyslogLogger::SYSLOG = Syslog.open('progname', Syslog::LOG_ODELAY, Syslog::LOG_LOCAL0)
RAILS_DEFAULT_LOGGER = SyslogLogger.new
替代常数要作为第三个参数Syslog.open设施。请注意,LOG_ODELAY表示第二个参数的默认值;如果您需要特殊的系统日志行为,则可以使用其他值。
至于为什么这应该工作,看看initialize code你会看到Syslog是以默认的方式打开的,这是基于是否设置了SyslogLogger :: SYSLOG。