Heroku Request ID #heroku

Heroku Request IDは1リクエスト毎にユニークなIDをHeroku Routerのログに出力する機能です。このIDはHTTPヘッダにも設定されるので、アプリケーション側でログ出力しておくと、Heroku Routerとアプリケーションのログの結びつけが容易になります。この機能はHeroku Labsで提供されていましたが、2014/1/16より正式版となりました。

https://devcenter.heroku.com/articles/http-request-id

以前は「$ heroku labs:enable http-request-id」で有効にしなければなりませんでしたが、正式版となったことにより標準で有効になっているようです。

また、HTTPヘッダに設定されるHeroku Request IDのヘッダ名が変更になっていました。Labsから使用している場合は変更する必要があります。1月末で完全に移行するようですが、現在はどちらのヘッダでも取得できるようです。

  • 旧: HEROKU_REQUEST_ID
  • 新: X_REQUEST_ID

■ログ出力サンプル

Jan 21 12:23:07 myapp heroku/router: at=info code= desc="Blank app" method=GET path=/favicon.ico host=myapp.herokuapp.com request_id=59642b12-f77c-4900-9a46-359b3ef09778 fwd="xxx.xxx.xxx.xxx" dyno= connect= service= status=502 bytes=