2011-04-15 16 views
20

Używam POW do rozwoju lokalnych szyn. Nie wiem dlaczego, ale nie mogę wydrukować lub umieszcza informacji do mojego development.log. Chcę umieścić zawartość zmiennych do konsoli/dziennika z mojego kontrolera. jakakolwiek rada?puts nie drukuje rzeczy na konsolę

czytam dzienniki z tail -f logs/development.log

dzięki!

+1

Na marginesie, nakłady NIGDY nie zapisały danych w dzienniku - jego użycie było standardowe. –

Odpowiedz

39

Zamiast puts, spróbuj logger.info(). Logging in Rails jest bardzo elastyczny, ale oznacza to, że czasami nie można użyć najprostszych narzędzi.

+0

Pamiętaj też, aby utworzyć obiekt rejestratora z Logger. –

+0

Ludzie nadal zalecają używanie rejestratora do tego, ale jeśli użyjesz 'puts', zobaczysz swoje dane natychmiast w konsoli, wydrukowane w postaci kodu, tymczasem za pomocą rejestratora musisz zajrzeć do pliku tekstowego to nie powoduje automatycznej aktualizacji w zależności od używanego edytora tekstu, co powoduje znacznie większe poczucie wygody użytkownika. – bpromas

+0

@ bpromas, gorąco polecam 'tail -F' lub' less + F' do śledzenia plików dziennika. – sarnold

8

Jeśli robisz debugowanie i tylko chcą zobaczyć niektóre wiadomości w dziennikach można wykonać następujące czynności:

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

i

$ pow logs | grep debug:: 

teraz zobaczysz tylko zalogowaniu wiadomości rozpocznij od debugowania ::