Loggable

Loggable — это интерфейс, наследуемый любым классом, который хочет, чтобы события, связанные с его объектами-членами, сохранялись в системном журнале. ElggEntity и ElggExtender оба наследуют Loggable.

Loggable определяет несколько методов класса, которые используются при сохранении в системный журнал по умолчанию и могут использоваться для определения ваших собственных (а также для других целей):

  • getSystemLogID() — возвращает уникальный идентификатор для объекта для хранения в системном журнале. Это, вероятно, будет GUID объекта

  • getClassName() — возвращает имя класса объекта

  • getType() — возвращает тип объекта

  • getSubtype() — получить подтип объекта

  • getObjectFromID($id) — для заданного ID возвращает связанный с ним объект

Детали базы данных

Системный журнал по умолчанию хранится в таблице базы данных system_log database table. Она содержит следующие поля:

  • id — уникальный числовой ID строки

  • object_id — GUID сущности, над которой совершается действие

  • object_class — класс сущности, над которой совершается действие (например, ElggObject)

  • object_type — тип сущности, над которой совершается действие (например, object)

  • object_subtype — подтип сущности, над которой совершается действие (например, blog)

  • event — событие, которое записывается в журнал (например, create или update)

  • performed_by_guid — GUID действующей сущности (пользователя, выполняющего действие)

  • owner_guid — GUID пользователя, владеющего сущностью, над которой совершается действие

  • access_id — ограничение доступа, связанное с этой записью журнала

  • time_created — метка времени UNIX, когда произошло событие