将 Rails 中的系统记录器设置为除用户之外的其他内容
我正在 ruby on Rails 中使用 syslog-logger gem。默认情况下,它使用名为 user 的工具和名为 Rails 的程序。如何将设施设置为“local0”或“local1”或任何其他设施?
I am using the syslog-logger gem in ruby on rails. This, by default, uses a facility called user, and a program called rails. How can I set the facility to be something like 'local0' or 'local1' or any other facility?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试以下操作:
将所需设施的常量替换为 Syslog.open 的第三个参数。注意 LOG_ODELAY 代表第二个参数的默认值;如果您需要特殊的系统日志行为,可以在那里使用其他值。
至于为什么这应该起作用,请查看初始化代码< /a> 您将看到 Syslog 根据是否设置 SyslogLogger::SYSLOG 以默认方式打开。
Try this:
Substitute the constant for the facility you want as the third argument to Syslog.open. Note the LOG_ODELAY represents the default for the second arg; other values could be used there if you need special syslog behavior.
As to why this should work, take a look at the initialize code where you will see that Syslog is opened in the default way based on whether SyslogLogger::SYSLOG is set.