Rails: настройте регистратор в работе для работы с Papertrail - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь настроить мой регистратор для работы в производственной среде на приложении Rails 5.1.4, развернутом в Heroku. Я использую Papertrail, но мои пользовательские сообщения журнала там не отображаются. Я не получаю никакой ошибки. Что не так?

Мой конфиг / environment / production.rb:

if ENV["RAILS_LOG_TO_STDOUT"].present?
    logger           = ActiveSupport::Logger.new(STDOUT)
    logger.formatter = config.log_formatter
    config.logger    = ActiveSupport::TaggedLogging.new(logger)
end

Мои переменные Heroku:

RAILS_LOG_TO_STDOUT    enabled
RACK_ENV               production
RAILS_ENV              RAILS_ENV

В моих методах я пытался вызвать регистратор следующим образом:

Rails.logger.info "Logger message..."

Я также пытался выполнить следующие шаги: https://help.papertrailapp.com/kb/configuration/configuring-centralized-logging-from-ruby-on-rails-apps/#configure-rails-environment, но это тоже не сработало. В этом случае я установил gem remote_syslog_logger и изменил свой код config / environment / production.rb на:

if ENV["RAILS_LOG_TO_STDOUT"].present?
    logger           = ActiveSupport::Logger.new(STDOUT)
    logger.formatter = config.log_formatter
    config.logger    = RemoteSyslogLogger.new('my-app-name.papertrailapp.com', 5432)
  end

1 Ответ

0 голосов
/ 04 мая 2018

Героку заставляет войти в STDERR / STDOUT. Установка пользовательского места назначения для ведения журнала не повлияет на среду Heroku. Чтобы получить журналы в Papertrail (или на любом другом удаленном сервере системного журнала), вам нужно настроить слив журналов .

...