如何在Symfony中记录用户活动


How to log users activity in Symfony

非常简单的问题,我无法找到一个好的答案…

我在我的Symfony 2.6中有很多实体-当用户对其中任何一个进行一些更改时,我希望有一个日志条目,包括谁/什么/在哪里。

谁做了更改。(用户id)他/她做了什么?(POST/PUT数据)这是在哪里完成的(哪个实体/url)

[编辑]

它可能只是一个包含以下列的表:

  • userid
  • 实体
  • 创建
(/编辑)

这个有捆绑吗?

对于我的项目,我通常使用EntityAudit包。它所做的是在被审计实体发生更改时保存旧状态的副本。通过与当前版本的比较,你可以看到有哪些变化。

它还为您提供了一个修订历史记录,其中列出了数据库中所有已更改的实体。

有几个bundle可以做到这一点,其中几个已经提到过了。我在《Gedmo Doctrine Extensions》中取得了很多成功。

一些文档在这里:http://symfony.com/doc/current/cookbook/doctrine/common_extensions.html

和安装说明:https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/symfony2.md

安装是最困难的部分。一旦完成,您所需要做的就是注释您希望记录的任何实体字段。