Как выводить как в файл журнала, так и в STDOUT в новой среде Rails?

Я создал новый файл среды в своем приложении Rails 4 (config/environments/staging.rb). Настройки в этом файле точно такие же, как и в файле development.rb по умолчанию, созданном при создании приложения.

При запуске WEBrick в консоли с использованием этой среды (rails s -e staging или RAILS_ENV=staging rails s) я не вижу ничего записанного в STDOUT. Я вижу файл журнала для промежуточной среды, в который записывается запись, но ничего в STDOUT. Я понимаю, что могу сохранить файл, но мне было интересно, есть ли параметр конфигурации для обработки этого. Я также могу перенаправить регистратор Rails для вывода всего в STDOUT, но как я могу заставить мою пользовательскую среду писать как в STDOUT, так и в файл журнала?

Я могу воспроизвести это как на OSX, так и на Windows с новым приложением Rails 4, и среды по умолчанию работают так, как ожидалось.


person alkalinecoffee    schedule 09.07.2014    source источник


Ответы (1)


Догадаться. Измените файл конфигурации среды, чтобы использовать промежуточное ПО Rails::Rack::LogTailer:

# config/environments/staging.rb

Rails.application.configure do
  config.middleware.insert_before(Rails::Rack::Logger, Rails::Rack::LogTailer)
end
person alkalinecoffee    schedule 09.07.2014