Как я могу получить доступ к журналу Rails из инициализатора?

Следуя советам моего предыдущего вопроса, я поместил фоновый процесс в инициализатор с именем scheduler.rb. Тем не менее, я с трудом переписываю процессы, которые вы планировали в журнале Rails. Есть ли простой способ получить доступ к тем же журналам из инициализатора, желательно, обратившись к методам ведения журнала Rails по умолчанию (logger.info и т.д.)?

Ответы

Ответ 1

RAILS_DEFAULT_LOGGER.info "abc"

Ответ 2

Rails 3-
Просто используйте Rails.logger в своем инициализаторе

Rails.logger.info "blabla"

НТН

Ответ 3

RAILS_DEFAULT_LOGGER устарел в Rails 3. Следующие шаги работают для меня в Rails 3.1.

Установите регистратор в файле environment.rb перед вызовом initialize! по вашему приложению:

Rails.logger = Logger.new(STDOUT)
MyServer::Application.initialize!

Затем вызовите регистратор в своем инициализаторе.

Rails.logger.info "Hello, world!"

Ответ 4

Раннее место будет config/application.rb

require File.expand_path('../boot', __FILE__)
require 'rails/all'

#add this line below:
Rails.logger = Logger.new(STDOUT)