を回答。 (これはマルチテナントアプリです)
I, [2015-11-05T15:45:42.617759 #22056] INFO -- : [verimor/2] [77e593dc-c852-4102-a999-5c90ea0c9d66] Started GET "/home/dashboard" for 192.168.1.37 at 2015-11-05 15:45:42 +0200
[verimor/2]
はsubdomain/user_id
です:
は
# config/application.rb
config.middleware.delete "ActionDispatch::Cookies"
config.middleware.delete "ActionDispatch::Session::CookieStore"
config.middleware.insert_before Rails::Rack::Logger, ActionDispatch::Cookies
config.middleware.insert_before Rails::Rack::Logger, ActionDispatch::Session::CookieStore
# config/environment/development.rb and production.rb
config.log_tags = [
lambda {|req| "#{req.subdomain}/#{req.session["user_id"]}" },
:uuid
]
config.log_formatter = Logger::Formatter.new
これは次のようにログを生成します。私は、レール4にこれらをやりました。
[77e593dc-c852-4102-a999-5c90ea0c9d66]
は、このリクエストの一意のIDです。要求のライフサイクルを追跡するのに役立ちます。
HTH。
Rails 3.2以降が利用可能な場合、これはよりクリーンなアプローチです。 – mahemoff
これはsession_idではなく、Base64クッキー全体です。 session_idを記録する場合は、http://stackoverflow.com/a/22487412/117382を参照してください。 – jBilbo