Читаем рельсовые логи UNIX-style

An illustration of a young person sitting on the floor against a wall, engrossed in a tablet, with an orange scarf and sneakers, in a grayscale setting with a purple accent. An illustration of a young person sitting on the floor against a wall, engrossed in a tablet, with an orange scarf and sneakers, in a grayscale setting with a purple accent.

Обычно я использую unicorn, который в терминал выводит всё что запихнёте в рубёвый puts - простой и эффективный способ дебажить приложения. Но возможна ситуация когда необходимо использовать, например, pow. Согласно документации:

Rails logger output does not appear in Pow's logs. You'll want to tail -f log/development.log to see those entries.*

Казалось бы, не проблема - у всех, наверное, в отдельном окошке постоянно запущен tail рельсовых логов. Проблема в том, что в потоке логов запросов, ассетов и прочей ерунды очень тяжело уловить дебаг-инфу отправляемую из кода при помощи какого нибудь Rails.logger.warn 'what's up!'.

Так как я последние недели увлёкся написанием маленьких, но полезных скриптов использующих всем доступные unix-программки, то и в данном случае решил проблему при помощи tail + grep. Итак, однострочник дебаг-счастья:

tail -f log/development.log | grep "MKDEV:>"

Можно так и запускать в терминале, можно в отдельный файл сохранить. Затем уже в коде – Rails.logger.warn "MKDEV:> #{session.inspect}", например.