Категории

Логирование для разработчиков

Бесплатно

Описание

Зачем разработчику на 1С-Битрикс инструмент для логирования

Каждый, кто пишет код для проектов на 1С-Битрикс, рано или поздно сталкивается с неочевидными ошибками. Клиент сообщает, что страница грузится слишком долго, или в корзине пропадают товары, а в логах сервера — тишина. В такие моменты простой var_dump или стандартные средства отладки часто не помогают, потому что проблема прячется в глубине кастомного компонента или сложного события. Готовый модуль логирования для разработчиков решает именно эту задачу: он даёт возможность видеть, что происходит внутри кода, без лишнего шума и в том формате, который нужен именно вам.

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

Главные возможности: от записи логов до очистки устаревших файлов

Модуль предлагает четыре ключевых инструмента, которые покрывают 90% потребностей разработчика при отладке и мониторинге. Во-первых, это прямая запись логов в файлы. Вы можете добавить одну строку кода в любой обработчик или шаблон, и модуль сохранит нужные данные в отдельный файл. Никаких сложных настроек — просто укажите, что хотите залогировать, и получите чистый результат.

Во-вторых, в модуле реализовано оповещение о критических проблемах. Это значит, что если в проекте возникает серьёзная ошибка — например, падает SQL-запрос или не загружается важный модуль, — вы узнаете об этом сразу. Система отправляет уведомление, не дожидаясь, пока проблема разрастётся и повлияет на работу магазина или портала.

Третья функция — очищение устаревших лог-файлов. Логи имеют свойство накапливаться, и если их не чистить, через месяц диск может оказаться забит гигабайтами технической информации. Модуль автоматически удаляет старые записи, оставляя только актуальные данные. Вам не придётся вспоминать, когда в последний раз заглядывали в папку /bitrix/logs/.

И наконец, таймеры выполнения. Вы можете замерить, сколько времени занимает конкретный участок кода: загрузка данных из кеша, обработка массива товаров, вызов API. Это помогает быстро найти «узкие» места и оптимизировать их без долгих поисков.

SQL-трекер на основе diag: как это улучшает мониторинг базы данных

Отдельного внимания заслуживает встроенный SQL-трекер, построенный на основе встроенного инструмента diag. В 1С-Битрикс часто бывает, что один неоптимальный запрос может замедлить всю страницу, особенно на каталогах с тысячами товаров. Модуль логирования позволяет отслеживать все SQL-запросы, которые выполняются во время работы скрипта, и сразу видеть, какие из них выполняются дольше всего.

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

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

Как модуль помогает в повседневной разработке

Представьте ситуацию: вы дорабатываете корзину интернет-магазина, и после обновления у нескольких пользователей не применяется скидка. Обычная отладка занимает часы — нужно проверить события, обработчики, данные в сессии. С модулем логирования вы просто ставите пару меток в коде, запускаете процесс и через минуту смотрите лог-файл. В нём чётко видно, на каком этапе скидка перестаёт применяться и какие данные приходят в обработчик.

Другой пример — производительность. Клиент жалуется, что страница списка брендов грузится 10 секунд. Вы включаете таймеры выполнения и SQL-трекер, запускаете страницу и получаете отчёт: один из запросов к базе данных выполняется 8 секунд из-за отсутствия индекса. Всё — проблема найдена за пару минут, без нагрузки на сервер и без перезагрузок.

Модуль одинаково полезен как для небольших проектов с парой тысяч посетителей, так и для крупных порталов с высокой нагрузкой. Он не требует сложной настройки — достаточно установить его из маркетплейса и подключить в нужных местах кода. А если захотите углубиться, полное описание всех функций и примеры использования есть в открытом репозитории проекта на GitHub.

Часто задаваемые вопросы

Логирование для разработчиков
Бесплатно
3 обсуждениея

Характеристики

Версия 1.0.1
Добавлен 07.12.2021
Обновлён 29.12.2021
Установок 100 - 499 раз
Код intensa.logger
Адаптивный Нет
Composite Нет