Laravel用户活动DB Logger

时间:2014-12-17 11:03:21

标签: php mysql logging laravel laravel-4

Hey Guys我已经研究并测试了一些记录用户活动的方法,例如当用户更新他的个人资料详细信息或用户更新他在任务中的状态时。

我需要记录的内容:

  • 会话中的用户ID
  • 表正在更新
  • 字段名称
  • 旧价值
  • 新价值
  • 时间戳

方法1: 运行其他查询以及insert / update / delete查询以存储详细信息。

方法2: 使用http://packalyst.com/packages/package/regulus/activity-log

在上述两种方法中,我必须为每个创建/更新/删除编写多个代码我想知道是否存在更好的方法来解决这个问题。

2 个答案:

答案 0 :(得分:1)

您希望存储用户操作的数据的修订版。

这需要Revisionable

可修改的工作使用特征实施。用户所做的每个操作都会将列的旧值和新值存储在单独的表中。然后,您可以查询可修订表以获取用户所做的更改。

请注意,上面引用的可修改版本不会存储INSERT操作。

答案 1 :(得分:0)

几天前我创建了这样的软件包,与VentureCraft的软件包不同,它只记录静态数据 - 表,值。没有fks,没有模型名称等。

它还以不同的方式处理修订,这使得更容易实现。比较给定的2个版本,因为它不会记录每行的单个字段更改,而是记录每行所涉及的所有数据。

检查出来:Sofa/Revisionable

这很年轻,会有所改善。

它也不是Eloquent特定的,但与Laravel 4一起开箱即用。您只需下载它,根据需要调整配置,为您的模型添加几行代码即可。