1

我想将所有日志转发到 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服务器中的所有请求和响应。但是我没有发送像这样记录的显式日志记录

Rails.logger.info "#{params}"

所以我在 application.rb 中添加了这段代码

  gelf = GELF::Logger.new("graylog.example.in", 12219)
  config.logger.extend(ActiveSupport::Logger.broadcast(gelf))

这适用于 Rails 控制台。但不会从应用程序发送

4

1 回答 1

0

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

于 2017-03-14T12:54:25.627 回答