Подтвердить что ты не робот

Как изменить рельсовый логгер, чтобы использовать стандартный из задач грабли (rails2)

Когда я делаю

Rails.logger.debug "привет мир" из моих задач rake. Я хочу, чтобы он регистрировался до стандартного.

Как установить логгер рельсов в Logger.new(STDOUT) из моей задачи rake?

Я хочу, чтобы мое приложение регистрировалось в файле при прохождении через контроллеры и т.д., просто нужно, чтобы задачи rake переходили на std из-за способа настройки моего мониторинга.

Я думал, что могу определить другую среду и использовать этот конфиг, но, вероятно, перехитрить, я хочу, чтобы все одни и те же окружения были в каждом env, просто хочу изменить местоположение моего адресата журнала.

На данный момент у меня есть помощник журнала, который использует puts, но я хочу воспользоваться форматированием журналов rails и буферизации.

4b9b3361

Ответ 1

Я только что сделал Rails.logger = Logger.new(STDOUT), и это тоже сработало (rails3)

Ответ 2

Вы можете reset регистратор по умолчанию следующим образом:

RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)

Вы также можете установить регистратор для определенных частей приложения (ActiveRecord, ActionController...) следующим образом:

ActiveRecord::Base.logger = Logger.new(STDOUT)

Ответ 3

С рельсами 4 вы будете использовать gem rails_12factor. Поместите это в свой Gemfile и voilà!  gem 'rails_12factor _'