複数ユーザが並行ログインするような環境の場合、セッションに紐付いたリクエストを追跡するのが結構難しいです。

で、Rails 3で導入されたlog_tagsには、Proc を渡せて、かつ、requestオブジェクト を渡してくれます。なので、ActiveRecord なセッションストアを使っている場合、クッキーとして、session_id が入っているため、log_tags を以下の形で設定しておくと、cookie_jarから拾い出して表示してくれます。

config.log_tags =
   [ lambda {|req| "#{req.cookie_jar["_session_id"]}" },
     :remote_ip, :uuid  ]

ググったものの、丁度良い答えがない上、リリースノートとか、不親切すぎて、この方法見付けるのが厄介だった。結局ソースを読まないとダメなんだよなぁ。


blog comments powered by Disqus