Во фреймворке предусмотрен единый механизм логирования действий пользователей. Журнал действий может быть использован, например, для статистического анализа действий пользователей приложения и выявления поведенческих факторов.
Журнал действий сохраняется в общую для всех приложений системную таблицу базы данных wa_log
. В перечисленные
ниже поля таблицы журнала сохраняется следующая информация:
app_id
— APP_ID приложенияcontact_id
— идентификатор пользователя, совершившего действиеdatetime
— дата и время совершения действияaction
— строковый идентификатор (тип/название) совершенного действияcount
— количество объектов, над которыми было выполнено действие (применяется при совершении групповых действий, например, массовое удаление записей)
Для подключения логирования действий необходимо:
-
Объявить в приложении список действий, которые должны логироваться. Для этого нужно создать конфигурационный файл
wa-apps/{APP_ID}/lib/config/logs.php
и перечислить в нём идентификаторы логируемых действий, например:<?php return [ 'contact_add' => [], 'contact_edit' => [], 'contact_delete' => [], 'contact_merge' => [], 'form_signup' => [], ];
-
В коде контроллеров и экшенов вызывать метод записи информации в журнал действий:
$this->log($action_name, $count);
Пример использования:
<?php class StickiesStickyActions extends stickiesJsonActionsController { ... protected function addAction() { ... $this->log('sticky_add', 1); ... } ... }