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, когда произошло событие