Документация

Откуда пришло изменение

К каждой записи журнала сохраняется стек вызова — цепочка файлов и строк, по которой код дошёл до изменения сущности.

Это ответ на вопрос «кто это сделал», когда пользователь ни при чём: изменение пришло из обмена, из агента, из стороннего модуля или из собственного кода в init.php.

Как читать стек

Читают сверху вниз: первая строка — место, где сущность сохранена, дальше — кто это вызвал. Свои служебные вызовы модуль из стека убирает, чтобы не мешали: записи о работе самого журнала, ORM Битрикса и системы событий отфильтрованы.

Пути показываются относительно корня сайта — так их можно сразу открыть в редакторе файлов админки. Модуль поддерживает переход к нужной строке: адрес файла с номером строки открывает редактор и ставит курсор на эту строку.

Глубина стека

Сколько шагов сохранять, задаётся настройкой «Лимит трассировки стека» (по умолчанию 100 шагов, 0 — без ограничения). Глубокий стек полезнее для разбора, но занимает место в базе: он хранится вместе с записью.

Разумный порядок: держать 100 в обычной работе, поднимать временно, когда ищут источник конкретной поломки.

Когда стек пустой

Ноль в настройке означает «без ограничения», а не «не сохранять», поэтому пустой стек говорит о другом: весь путь вызова оказался служебным и был отфильтрован. Так выглядят изменения, сделанные самим ядром — например, при установке модуля или обновлении системы.