gpt4 book ai didi

ruby-on-rails-3 - 如何在每条日志消息(Rails 3)中添加 session ID?

转载 作者:行者123 更新时间:2023-12-04 07:18:59 25 4
gpt4 key购买 nike

我的想法是捕获 session_id 并将其存储在线程本地存储中,例如

Thread.current[:session_id] = session[:session_id]

但是在调用我的过滤器之前会发生一些 Rails 日志记录。

我想我可能会通过编写一个中间件插件来捕获 session_id。但是,对于所有日志记录,我似乎还没有足够早地得到它。

我最早可以捕获 session_id 是多少?

谢谢!

最佳答案

由于 Rails 3.2 支持使用 log_tags 的标记日志记录配置数组,log_tags数组接受一个 Proc 对象,并用一个请求对象调用 proc 对象,我可以配置 log_tags以下方式:

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

它与 Rails 3.2.3 一起使用,正在使用 ActiveRecord 的 session 存储。

关于ruby-on-rails-3 - 如何在每条日志消息(Rails 3)中添加 session ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8623437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com