2011-01-25 3 views
12

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

Rails.logger.debug «привет мир» изнутри моих рек задач, которые я хочу, чтобы это войти в стандартный выводе.

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

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

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

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

ответ

6

Вы можете сбросить Регистратор по умолчанию так:

 
RAILS_DEFAULT_LOGGER = Logger.new(STDOUT) 

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

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

Пробовал это и есть: /lib/tasks/fetch_influencers.rake:4: динамическая константа присваивания RAILS_DEFAULT_LOGGER = Logger.new (STDOUT) (я думаю, что ваше решение работает в rails3, мне нужен rails2 solution) – Joelio

+0

Было ли это предупреждение или ошибка? Если вы сделаете это, вы получите предупреждение, потому что вы меняете константу, но вы все равно сможете это сделать. –

+1

lib/tasks/fetch_data.rake: 4: динамическое постоянное назначение RAILS_DEFAULT_LOGGER = Logger.new (STDOUT) – Joelio

9

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

0

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

Смежные вопросы