将 Rails 中的 syslogger 设置为除用户之外的其他内容
Posted
技术标签:
【中文标题】将 Rails 中的 syslogger 设置为除用户之外的其他内容【英文标题】:setting facility for syslogger in rails to something besides user 【发布时间】:2009-12-03 07:19:02 【问题描述】:我在 ruby on rails 中使用 syslog-logger gem。默认情况下,它使用一个名为 user 的工具和一个名为 rails 的程序。如何将设施设置为“local0”或“local1”或任何其他设施?
【问题讨论】:
【参考方案1】:试试这个:
require 'syslog_logger'
SyslogLogger::SYSLOG = Syslog.open('progname', Syslog::LOG_ODELAY, Syslog::LOG_LOCAL0)
RAILS_DEFAULT_LOGGER = SyslogLogger.new
将您想要的设施的常数替换为 Syslog.open 的第三个参数。注意 LOG_ODELAY 代表第二个参数的默认值;如果您需要特殊的 syslog 行为,可以在那里使用其他值。
至于为什么会这样,看看initialize code,你会看到根据是否设置了 SyslogLogger::SYSLOG 以默认方式打开 Syslog。
【讨论】:
以上是关于将 Rails 中的 syslogger 设置为除用户之外的其他内容的主要内容,如果未能解决你的问题,请参考以下文章