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 中的主要内容,如果未能解决你的问题,请参考以下文章

字形在 Ubuntu Rails 4.1 安装中未正确显示

渲染 json 未显示在 rails 4 的视图中

在error日志打印异常

Rails4 + Bootstrap,日期选择器未显示

Rails 关联不起作用,user_id 未显示在控制台中

logger.error完整打印错误堆栈信息