2011-04-15 3 views
20

Я использую POW для разработки локальных рельсов. я не знаю почему, но я не могу печатать или помещает информацию в мою разработку.log. Я хочу помещать содержимое переменных в консоль/журнал с моего контроллера. любой совет?puts не печатает материал на консоль

я читал мои журналы с tail -f logs/development.log

спасибо!

+1

Как примечание, puts никогда не записывал материал в журнал - его использовали для стандартного вывода. –

ответ

39

Вместо puts, попробуйте logger.info(). Logging in Rails очень гибкий, но это означает, что иногда вы не сможете использовать простейшие инструменты.

+0

И не забудьте создать объект Logger из Logger. –

+0

Люди рекомендуют использовать логгер для этого, но если вы используете 'puts', вы можете сразу увидеть ваши данные в консоли, будучи напечатаны, когда код запускается, между тем, используя регистратор, вы должны заглянуть в текстовый файл который не будет автоматически обновляться в зависимости от используемого текстового редактора, что приведет к значительному неудобству для пользователя. – bpromas

+0

@bpromas, я настоятельно рекомендую 'tail -F' или' less + F' для следующих файлов журнала. – sarnold

8

Если вы делаете отладку и хотите видеть только некоторые сообщения в журналах вы можете сделать следующее:

Rails.logger.debug("debug::" + person.name) 

и

$ pow logs | grep debug:: 

теперь вы будете видеть только записи в журнал сообщений, которые начать с отладки ::

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