rails, logger в режиме разработки: консоль vs logfile - PullRequest
5 голосов
/ 06 июня 2011

Rails 3.0, насколько это важно.

Итак, обычно в режиме разработки сообщения регистратора в конечном итоге записываются в и консоль development.log, и консоль, если вы находитесь в интерактивной консоли.

Что просто элегантно, хорошо.

Но что-то, что я не могу понять, если я пишу сообщение журнала во время процесс загрузки (скажем, в config.after_initialize), тогда это НЕ бывает. Сообщение журнала находится в файле log / development.log, но НЕ записано в консоль. Что раздражает, причина, по которой я что-то пишу во время процесса загрузки (повторение определенного конфига) для разработчик, чтобы увидеть это, потому что это помогает в отладке.

Кто-нибудь знает, что здесь происходит, и если я могу что-нибудь поделать?

1 Ответ

4 голосов
/ 11 августа 2011

Все, что вам нужно сделать, это добавить оператор печати перед вызовом регистратора, например:

config.after_initialize do
  print Rails.logger.info("Testing")
end

Консоль Rails не будет автоматически отображать что-либо во время инициализации, но она будет отображать все, что вы передадите ей с помощью оператора печати. Rails.logger возвращает значение, которое он записывает в журнал, так что это действительно так просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...