при работе с rails 3.2 вы можете использовать теги журнала:
Обновление промежуточного программного обеспечения Rails :: Rack :: Logger для применения любых тегов, установленных в config.log_tags, к новому ActiveSupport :: TaggedLoggingRails.logger.Это позволяет легко помечать строки журнала отладочной информацией, такой как поддомен и идентификатор запроса, - оба очень полезны при отладке многопользовательских рабочих приложений DHH
, если повезет, добавление этого в вашу среду может работать:
config.log_tags = [:uuid, :remote_ip, :session_id]
ОБНОВЛЕНИЕ
для неудачников, решение на основе ответа @ shigeya.
к сожалению, rails НЕ обеспечивает доступ к вашему sessionid в здравом умеманера.вы всегда должны полагаться на то, что делает стойка во внутреннем устройстве ... доступ к cookie_jar с помощью ключа cookie - это «рекомендуемый» способ сделать это.
это то, что я использую для своего приложения:
config.log_tags = [
:host,
:remote_ip,
lambda { |request| "#{request.uuid}"[0..15] },
lambda { |request| "#{request.cookie_jar["_session_id"]}"[0..15] },
]
вывод выглядит следующим образом:
[hamburg.onruby.dev] [127.0.0.1] [27666d0897c88b32] [BAh7B0kiD3Nlc3Np] Completed 200 OK in 298ms (Views: 286.2ms | ActiveRecord: 9.2ms)