К сожалению, я пока не могу комментировать, но в случае, если у кого-то еще есть эта проблема, некоторые вещи, по-видимому, изменились после ответа Гейба Койна (очень полезно) выше.Мне не нужно было менять свою heroku log_level, поэтому, чтобы начать генерировать логи, вы можете просто использовать инициализатор config/initializers/oink.rb
, например, так:
YourApp::Application.middleware.use( Oink::Middleware, :logger => Hodel3000CompliantLogger.new(STDOUT))
Или поместить эту строку в production.rb
, если хотите толькобревно в производстве.Затем вам нужно получить журналы в локальный файл журнала, также упомянутый в предыдущем ответе:
heroku logs n500 --app app_name > log/production.log
Или вы можете получить их из Papertrail или из вашего любимого архиватора журналов.Локальные журналы должны быть обновлены до ожидаемого формата oink, но я обнаружил, что grep 'Oink|Memory|Instantiation'
не работает, так как эта строка, кажется, была удалена из журналов, поэтому я использовал это вместо:
cat log/production.log | cut -c 46- | grep 'rails\[' > log/production-oink.log
Тогда вы можете использовать oink --threshold=0 log/production-oink.log
, и это будет работать.
Единственное, что меня настигло, это количество предыдущих символов, которые нужно вырезать.В то время как cut -c 39-
, похоже, работал раньше, мне пришлось использовать cut -c 46-
.Очевидно, что это меняется, поэтому в случае, если это не очевидно, вы просто пытаетесь получить строки в необработанных журналах, которые выглядят так:
2013-07-19T18:47:09.494475+00:00 app[web.1]: Jul 19 18:47:09 24ab5d5s-g46c-2d44-dss2-233sdfa99852wd rails[5]: Oink Action: welcome#about
Чтобы выглядеть так:
Jul 19 18:47:09 24ab5d5s-g46c-2d44-dss2-233sdfa99852wd rails[5]: Oink Action: welcome#about
С удаленной передней частью.Надеюсь, это поможет!