Лог

Содержание...

Во фреймворке предусмотрен единый механизм логирования действий пользователей. Журнал действий может быть использован, например, для статистического анализа действий пользователей приложения и выявления поведенческих факторов.

Журнал действий сохраняется в общую для всех приложений системную таблицу базы данных wa_log. В перечисленные ниже поля таблицы журнала сохраняется следующая информация:

  • app_id — APP_ID приложения
  • contact_id — идентификатор пользователя, совершившего действие
  • datetime — дата и время совершения действия
  • action — строковый идентификатор (тип/название) совершенного действия
  • count — количество объектов, над которыми было выполнено действие (применяется при совершении групповых действий, например, массовое удаление записей)

Для подключения логирования действий необходимо:

  1. Объявить в приложении список действий, которые должны логироваться. Для этого нужно создать конфигурационный файл wa-apps/{APP_ID}/lib/config/logs.php и перечислить в нём идентификаторы логируемых действий, например:

    <?php
    
    return [
        'contact_add' => [],
        'contact_edit' => [],
        'contact_delete' => [],
        'contact_merge' => [],
        'form_signup' => [],
    ];
    
  2. В коде контроллеров и экшенов вызывать метод записи информации в журнал действий:

    $this->log($action_name, $count);

Пример использования:

<?php

class StickiesStickyActions extends stickiesJsonActionsController
{
    ...

    protected function addAction()
    {
        ...
        $this->log('sticky_add', 1);
        ...
    }
    
    ...
}