Назад

Битрикс – журнал событий

Главная
Блог
Битрикс – журнал событий

Веб-сайты часто требуют контроля изменений: кто и когда редактировал элементы, добавлял новые или удалял существующие. В Битрикс для этого есть встроенный инструмент — Журнал событий.

В этой статье разберем:

  • Где найти журнал событий в админке

  • Как включить логирование изменений для инфоблоков

  • Как работать с журналом через API

  • Практические примеры фильтрации событий

  • Рекомендации по использованию

1. Где находится журнал событий?

Журнал доступен в админке по адресу:

text


/bitrix/admin/event_log.php?lang=ru

Либо через меню: Настройки → Журнал событий.

Здесь отображаются все изменения на сайте:

  • Редактирование элементов инфоблоков

  • Изменения в структуре разделов

  • Действия пользователей

  • Системные события

2. Включение журналирования для инфоблоков

По умолчанию не все изменения записываются. Чтобы журнал фиксировал правки в инфоблоках, нужно:

Вариант 1. Через настройки инфоблока

  1. Перейдите в Контент → Инфоблоки → Типы инфоблоков.

  2. Выберите нужный инфоблок, откройте вкладку "Журнал событий".

  3. Включите опции:

    • Записывать добавление элементов

    • Записывать изменение элементов

    • Записывать удаление элементов

Вариант 2. Программно через API

// Включение журналирования для инфоблока
CIBlock::SetPermission($iblockId, array("log" => "Y"));

3. Работа с журналом через API

Основной метод для работы — CEventLog::GetList().

Базовый пример (вывод всех событий)

$rsLog = CEventLog::GetList(
    array("ID" => "DESC"), // Сортировка
    false, // Фильтр (false — без фильтра)
    false  // Постраничная навигация (false — не использовать)
);

while ($arLog = $rsLog->GetNext()) {
    echo "<pre>";
    print_r($arLog);
    echo "</pre>";
}

Полезные поля в журнале

Поле Описание
TIMESTAMP_X Дата и время события
AUDIT_TYPE_ID Тип события (см. таблицу ниже)
ITEM_ID ID элемента (инфоблока, раздела и т. д.)
USER_ID ID пользователя, который внес изменения
DESCRIPTION Дополнительные данные (например, название элемента)

Типы событий (AUDIT_TYPE_ID)

Тип Описание
IBLOCK_ELEMENT_ADD Добавление элемента
IBLOCK_ELEMENT_EDIT Редактирование элемента
IBLOCK_ELEMENT_DELETE Удаление элемента
IBLOCK_SECTION_ADD Добавление раздела
IBLOCK_SECTION_EDIT Редактирование раздела
IBLOCK_SECTION_DELETE Удаление раздела

4. Фильтрация событий (примеры)

Вывод только изменений элементов конкретного инфоблока

$rsLog = CEventLog::GetList(
    array("ID" => "DESC"),
    array(
        "MODULE_ID" => "iblock",
        "AUDIT_TYPE_ID" => "IBLOCK_ELEMENT_EDIT",
        "ITEM_ID" => 123 // ID элемента
    )
);

Поиск действий конкретного пользователя

$rsLog = CEventLog::GetList(
    array("ID" => "DESC"),
    array(
        "USER_ID" => 1 // ID пользователя
    )
);

5. Рекомендации по использованию

 Оптимизация хранения
Журнал может разрастаться, поэтому:

  • Настройте автоочистку (например, удалять записи старше 3 месяцев).

  • Используйте фильтрацию, чтобы не загружать лишние данные.

 Альтернативные решения

  • Модуль "Аудит изменений" — расширенный журнал с детализацией.

  • Сторонние системы логирования (например, ELK Stack для больших проектов).

 Безопасность

  • Ограничьте доступ к журналу только администраторам.

  • Регулярно делайте резервные копии логов.

Вывод

Журнал событий Битрикс — мощный инструмент для контроля изменений. Его можно использовать как в админке, так и через API для интеграции с другими системами.

Дополнительные материалы:

Теперь вы знаете, как отслеживать изменения на сайте и работать с журналом событий в Битрикс!

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи