如何在Symfony中记录用户活动

时间:2015-10-07 11:17:31

标签: php symfony logging

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

我的Symfony 2.6中有很多实体 - 当用户对其中任何一个进行一些更改时,我希望有一个日志条目,其中包含who / what / where。

谁做出了改变。 (用户身份) 他/她做了什么。 (POST / PUT数据) 这是完成的(哪个实体/网址)

[编辑]

它可能只是一个包含这些列的表:

  • 用户ID
  • 数据
  • 实体
  • 创建

[/编辑]

这有捆绑吗?

2 个答案:

答案 0 :(得分:1)

对于我的项目,我通常使用EntityAudit bundle。它的作用是在更改被审计实体时保存旧状态的副本。通过将它们与当前版本进行比较,您可以看到发生了哪些变化。

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

答案 1 :(得分:1)

你有几个捆绑包可以做到这一点,其中一些已经提到过了。我在Gedmo Doctrine Extensions上取得了很大的成功。

此处提供了一些文档:http://symfony.com/doc/current/cookbook/doctrine/common_extensions.html

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

安装是困难的部分。完成后,您需要做的就是注释您要记录的任何实体字段。