Rails广播日志到Graylog不起作用

时间:2017-03-10 07:13:38

标签: ruby ruby-on-rails-3 logging graylog2 gelf

我想将所有日志转发到graylog服务器以及我想维护我的实际Rails日志。我正在使用ruby gelf gem。 https://github.com/Graylog2/gelf-rb和lograge。在我的application.rb中我有代码

if Rails.env.in? ['production', 'preproduction', 'staging']
    config.lograge.keep_original_rails_log = true
    config.lograge.logger =  GELF::Logger.new(graylog.example.in", 12219)
end

有了这个我在graylog服务器中得到了所有请求和响应。但是我没有发送像这些记录的explict日志记录

Rails.logger.info "#{params}"

所以我在application.rb

中添加了这段代码
  gelf = GELF::Logger.new("graylog.example.in", 12219)
  config.logger.extend(ActiveSupport::Logger.broadcast(gelf))

这适用于rails console.But不是从应用程序发送的

1 个答案:

答案 0 :(得分:0)

使用log4r gem记录到多个输出目标非常简单 https://github.com/colbygk/log4r。要转发到远程graylog,您可能还需要gem'log4r-gelf'