Как регистрировать активность пользователей в Symfony

1

Очень простой вопрос, я не могу найти хороший ответ для...

У меня много Entities в моем Symfony 2.6 - когда пользователь вносит какие-либо изменения в какой-либо из них, я хотел бы иметь запись в журнале с кем/что/где.

Кто сделал изменения. (идентификатор пользователя) Что он/она делает. (Данные POST/PUT) Где это было сделано (какой объект /URL)

[РЕДАКТИРОВАТЬ]

Возможно, это может быть таблица с этими столбцами:

  • Идентификатор пользователя
  • данные
  • организация
  • созданный

[/РЕДАКТИРОВАТЬ]

Есть ли комплект для этого?

  • 0
    Я использую Monolog для этого
Теги:
logging

2 ответа

1

Для моих проектов я обычно использую пакет EntityAudit. Что он делает, это сохранить копию старого состояния всякий раз, когда проверяемый объект изменен. Сравнивая их с текущей версией, вы можете увидеть, что изменилось.

Он также дает вам историю изменений, в которой перечислены все сущности, которые были изменены в вашей базе данных.

  • 0
    Entity Audit - это почти все, что мне нужно, но многие для многих здесь не рассматриваются. :-(
1

У вас есть несколько Bundles, которые делают это, пару из которых уже упомянуты. У меня были большие успехи в Gedmo Doctrine Extensions.

Некоторая документация здесь: http://symfony.com/doc/current/cookbook/doctrine/common_extensions.html

И инструкции по установке здесь: https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/symfony2.md

Установка - непростая часть. После этого все, что вам нужно сделать, это аннотировать любые поля объектов, которые вы хотите зарегистрировать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню