Логирование

Log

Для работы с логом используется Monolog

Каталог хранения логов определяется параметром SettingsPath::LOGS

Минимальный уровень сбора логов DEBUG

Для записи в главный (Main) лог используйте код:

use Monolog\Logger;

/** @var Logger $log */
$log = $this->dic['log'];
$log->warning('Внимание');
$log->info('Уведомление');

Полный список всех уровней смотрите в документации Monolog

Также вы можете создать свой персональный логгер с отдельным файлом

use Lemurro\Api\Core\Helpers\LoggerFactory;

$log = LoggerFactory::create('MyErrors');
$log->info('Уведомление');

В итоге будет создан файл myerrors.log в каталоге с логами

DataChangeLogs

Логирование изменения данных в БД

use Lemurro\Api\Core\Helpers\DataChangeLog;

/** @var DataChangeLog $data_change_log */
$data_change_log = $this->dic['datachangelog'];
$data_change_log->insert($table_name, $action_type, $id, $data = []);
  • $table_name Обязательно - Имя таблицы
  • $action_type Обязательно - Тип действия ('insert'|'update'|'delete')
  • $id Обязательно - ИД записи
  • $data Не обязательно - Массив данных, хранится будет в виде json-строки

Пример:

use Lemurro\Api\Core\Helpers\DataChangeLog;

/** @var DataChangeLog $data_change_log */
$data_change_log = $this->dic['datachangelog'];
$data_change_log->insert('users', 'save', 3, [
    'field1' => 'value1',
    'field2' => 'value2',
    'field3' => 'value3',
]);