Настройка логирования действий пользователей 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка логирования действий пользователей 1С-Битрикс
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1321
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    914
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    810
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    709
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

Настройка логирования действий пользователей 1С-Битрикс

На проектах с 200+ контент-менеджеров и администраторов вопрос «кто изменил цену на товар вчера в 17:30» без логирования не имеет ответа. Штатный журнал событий Битрикса фиксирует далеко не всё, а то, что фиксирует — хранит без удобной фильтрации. Например, вы не узнаете, кто снял товар с публикации или изменил его название. Без детального аудита невозможно доказать виновность конкретного сотрудника или восстановить историю изменений. Мы решаем эту задачу: настраиваем полноценное логирование с кастомными обработчиками, ротацией и архивацией. За 5 лет работы мы выполнили более 50 проектов по Битрикс, поэтому гарантируем прозрачность каждого действия. Наши инженеры разработают обработчики для инфоблоков, заказов и CRM, добавят diff-сравнение и настраиваемые фильтры. Свяжитесь с нами — мы подберём оптимальную конфигурацию логирования под ваш проект.

Почему штатного журнала событий недостаточно?

Битрикс из коробки пишет события в таблицу b_event_log. Включается в настройках главного модуля: Настройки → Настройки продукта → Настройки модулей → Главный модуль → вкладка «Журнал событий».

Штатно логируются такие события:

  • Авторизация / выход (USER_LOGIN, USER_LOGOUT)
  • Ошибки авторизации (USER_LOGIN_FAILED)
  • Изменение настроек модулей (MODULE_RIGHTS_CHANGED)
  • Действия с файлами через файловый менеджер (FILE_DELETE, FILE_EDIT)
  • Операции с пользователями (USER_ADD, USER_EDIT, USER_DELETE)

Эти события покрывают только системные действия. Изменения контента — товаров, статей, цен — остаются за кадром. Без кастомных обработчиков вы остаётесь слепы к большинству изменений.

За кадром стандартной конфигурации остаётся следующее:

  • Изменения элементов инфоблоков (товары, статьи, новости) — ключевой пробел
  • Изменения заказов (смена статуса, редактирование)
  • Изменения цен и остатков
  • Действия в модуле CRM (при наличии) — контакты, сделки, лиды

В коммерческих проектах именно эти изменения чаще всего требуют аудита. Наше кастомное решение в 3 раза эффективнее стандартного, так как добавляет diff-сравнение и гибкие фильтры. Записи хранятся с указанием точного времени, IP-адреса и сессии пользователя.

Как расширить логирование через обработчики событий?

Для логирования изменений в инфоблоках подписываемся на события модуля iblock:

  • OnBeforeIBlockElementUpdate — получаем данные ДО изменения
  • OnAfterIBlockElementUpdate — фиксируем факт изменения

Пара событий нужна для записи diff — какие поля изменились и с каких значений на какие. Обработчик регистрируется в /local/php_interface/init.php через AddEventHandler() или в файле events.php модуля. Ниже таблица ключевых полей для логирования:

Поле Зачем логировать
NAME Переименование товара
ACTIVE Включение/выключение
SORT Изменение сортировки
PROPERTY_PRICE / PRICE Изменение цены
PROPERTY_* Любые свойства инфоблока
DETAIL_TEXT Изменение описания

Для записи используем CEventLog::Add():

CEventLog::Add([
    'SEVERITY' => 'INFO',
    'AUDIT_TYPE_ID' => 'IBLOCK_ELEMENT_UPDATE',
    'MODULE_ID' => 'iblock',
    'ITEM_ID' => $elementId,
    'DESCRIPTION' => json_encode([
        'user_id' => $GLOBALS['USER']->GetID(),
        'changes' => $diff,
    ], JSON_UNESCAPED_UNICODE),
]);

Записи попадают в ту же таблицу b_event_log и видны в штатном интерфейсе журнала событий.

Пример полного кода обработчика для инфоблоков
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "MyLogIBlockBeforeUpdate");
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "MyLogIBlockAfterUpdate");
// ... rest of code

Как настроить логирование действий с заказами?

Модуль sale имеет собственные события: OnSaleOrderSaved, OnSaleStatusOrder, OnSalePayOrder. Для полного аудита заказов подписываемся на OnSaleOrderSaved — оно срабатывает при любом сохранении заказа. Внутри обработчика доступен объект \Bitrix\Sale\Order, из которого получаем текущее состояние. Для сравнения с предыдущим — загружаем заказ из БД до сохранения (в OnBeforeSaleOrderSaved). Таким образом фиксируются все изменения: статус, состав, адрес доставки, цены.

Ротация и хранение

Таблица b_event_log растёт быстро. На активном магазине (1000+ заказов/день, 50+ редакторов) — до 100 000 записей в месяц. Настройки ротации:

  • Время хранения — задаётся в настройках журнала событий (по умолчанию не ограничено)
  • Ручная очистка — CEventLog::CleanUp($days) через агент
  • Рекомендация — хранить 90 дней в Битрикс, старые записи архивировать в отдельную таблицу или файл

Оптимальная конфигурация хранения:

Тип данных Срок хранения Метод архивации
Активные записи 90 дней Остаются в b_event_log
Старые записи До 1 года Копируются в архивную таблицу b_event_log_archive
Архив Не ограничено Экспорт в CSV и удаление из БД

Что входит в настройку логирования?

Мы предоставляем полный комплект работ:

  • Разработка кастомных обработчиков для инфоблоков, заказов и CRM
  • Настройка ротации и архивации записей
  • Тестирование на тестовых данных с созданием эталонных записей
  • Документация по доступу к журналу и фильтрации
  • Передача исходников обработчиков
  • Обучение администраторов работе с журналом
  • Поддержка в течение 30 дней после сдачи

Быстрая проверка настройки

После подключения обработчиков: измените тестовый товар в админке, затем откройте Настройки → Инструменты → Журнал событий, отфильтруйте по типу IBLOCK_ELEMENT_UPDATE. Запись должна содержать ID элемента и diff изменений в описании.

Настройка базового логирования занимает один рабочий день. Получите консультацию по настройке логирования уже сегодня. Обращайтесь — мы поможем настроить логирование под любые требования. Получите прозрачность и контроль над всеми действиями на вашем Битрикс-проекте.

Подробнее о журнале событий в официальной документации Битрикса: Журнал событий