Rails logger.error 未显示在 SysLog 中
Posted
技术标签:
【中文标题】Rails logger.error 未显示在 SysLog 中【英文标题】:Rails logger.error not showing up in SysLog 【发布时间】:2013-01-31 22:21:46 【问题描述】:我有一个关于如何正确配置以在 SysLog
中显示 rails logger.error
消息的问题。我们使用了SyslogLogger gem
。在我们的Syslog config
中,我们有这样的过滤器:
if $programname == 'rails' and ($syslogseverity-text == 'emerg') then @somehost
if $programname == 'rails' and ($syslogseverity-text == 'alert') then @somehost
if $programname == 'rails' and ($syslogseverity-text == 'crit') then @somehost
if $programname == 'rails' and ($syslogseverity-text == 'err') then @somehost
if $programname == 'rails' and ($syslogseverity-text == 'warn') then @somehost
if $programname == 'rails' then ~
当出现异常或致命错误时,将显示堆栈跟踪日志。但是,我们使用logger.error
记录它们的任何语句都没有显示出来。
【问题讨论】:
【参考方案1】:看来您需要在config/environments/production.rb
中注释掉#config.logger
。
之后,您可以设置config.logger = SyslogLogger.new
或用于分布式设置config.logger = SyslogLogger.new "myApp"
。
您可以查看此blog post 或此*** post 了解更多信息。
【讨论】:
这不是问题。我们在 production.rb 中正确配置了该配置。问题是如何正确设置系统日志过滤器。 rails 中的异常显示在 syslog 中。只是 logger.error 没有出现以上是关于Rails logger.error 未显示在 SysLog 中的主要内容,如果未能解决你的问题,请参考以下文章