我想编写一个日志模型和控制器,以记录用户所做的一切。我正在考虑使用来自 ip 地址、用户调用的控制器、显示的视图和 params.inspect 创建一个数据库表。
有没有办法获取当前正在使用的控制器的变量?部署它的最佳方法是什么?有没有做这一切的宝石?谢谢
我想编写一个日志模型和控制器,以记录用户所做的一切。我正在考虑使用来自 ip 地址、用户调用的控制器、显示的视图和 params.inspect 创建一个数据库表。
有没有办法获取当前正在使用的控制器的变量?部署它的最佳方法是什么?有没有做这一切的宝石?谢谢
如果您将生产中的日志级别设置为 :debug,那么每个请求都会记录您需要的信息。也许,为调试生产日志编写解析器可能更容易。
如果你愿意,你也可以给你的 ApplicationController 添加一个过滤器:
class ApplicationController
before_filter :log_activity
def log_activity
if Rails.env == 'production'
@logger ||= Logger.new("#{Rails.root}/log/activity.log")
values = [
request.remote_ip,
controller_name,
action_name,
params.inspect
]
@logger.info "#{values.join ' | '}"
end
end
...
end
这可能不完整,因为您希望输出更详细,但这就是想法。