我目前正在使用Rails v2.3.5,我对语言和框架都很新。我需要做的是每次用户请求网页时捕获某些信息(用户的IP地址,访问的URL,访问的日期和时间以及页面呈现的时间)并将其存储在数据库中。
我注意到所有这些信息都包含在默认的Rails的日志文件中,但我试图避免解析日志文件来收集这些信息。我想要的是一些方法来挂钩记录器并拦截这些信息,或者可能扩展记录器并使用我的扩展版本而不是默认的Rails(ActiveSupport :: BufferedLogger)。
也许其他解决方案不需要日志?
提前致谢。
答案 0 :(得分:0)
您可能需要的是ApplicationController中的before_filter
块,以执行您需要执行的任何操作。从那里,您可以创建所需的任何数据库记录。例如:
class ApplicationController < ActionController::Base
before_filter :log_user_info
protected
def log_user_info
# Activate a custom logging method on a model
UserActivity.log!(
# ... User parameters
)
end
end
连接到记录器可能是一个坏主意,因为这是获取该信息的间接方式。但是,您可能需要从历史原因中提取数据。