К статье
Практический материал

Администрирование · 8 мин

Как посмотреть логи в 1С-Битрикс

Где смотреть логи в 1С-Битрикс: журнал событий в админке, логи PHP и веб-сервера, логи почты и обменов. Пути к файлам, настройка и типичные ошибки.

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

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

Журнал событий в административной панели

Встроенный журнал событий — самый простой способ посмотреть, что происходило на сайте. Он фиксирует авторизации, изменения элементов инфоблоков, отправку писем, запуск агентов и другие действия, которые модули Битрикса регистрируют через API. Откройте в административной панели раздел Настройки → Инструменты → Журнал событий.

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

Глубина хранения записей настраивается в Настройки → Настройки продукта → Настройки главного модуля, параметр «Сколько дней хранить записи в журнале событий». Если оставить большой срок на посещаемом проекте, таблица журнала разрастётся и начнёт тормозить админку — обычно достаточно 7–30 дней.

Логи ошибок PHP на сервере

Когда сайт показывает белый экран или ошибку 500, записи в журнале событий не будет — PHP завершился аварийно. Такие ошибки пишутся в лог ошибок PHP. Его расположение зависит от настройки error_log в php.ini или от конфигурации виртуального хоста. Типичные пути: /var/log/php_errors.log, /var/log/apache2/error.log или каталог логов в панели хостинга.

Посмотреть лог через SSH можно командой просмотра последних строк:

bash
tail -n 100 /var/log/apache2/error.log

Чтобы наблюдать лог в реальном времени во время воспроизведения ошибки, используйте tail -f с тем же файлом. Откройте проблемную страницу в браузере — новые строки с текстом ошибки, файлом и номером строки появятся сразу. На хостинге без SSH ищите раздел «Логи» или «Журналы» в панели управления.

Файловые логи самого Битрикса

Часть модулей Битрикса пишет собственные файлы логов внутри структуры сайта. Наиболее полезные места для проверки:

  • /bitrix/php_interface/ — здесь могут лежать пользовательские логи, если разработчики выводили отладку в файл;
  • /upload/ — временные файлы обменов и импортов, по которым видно, дошёл ли процесс до конца;
  • логи обмена с 1С — включаются настройкой в файле .settings.php или параметрами компонента обмена, путь задаётся константой;
  • логи миграций и обновлений — записи о ходе установки обновлений платформы.

Для собственной отладки разработчики используют функцию записи в файл, например через AddMessage2Log() — записи попадают в журнал событий админки, либо через file_put_contents() в отдельный файл. Если на проекте работала студия, поищите в /bitrix/php_interface/ файлы с именами вроде debug.log или log.txt.

Как включить расширенную отладку

Стандартный режим Битрикса скрывает детали ошибок от посетителей — это правильно с точки зрения безопасности, но мешает диагностике. Чтобы увидеть полный текст ошибки и трассировку, откройте файл /bitrix/.settings.php и установите параметр debug в значение true в секции exception_handling.

Также полезно включить показ ошибок PHP директивами display_errors и error_reporting в php.ini или в /bitrix/php_interface/init.php через ini_set(). После включения обновите проблемную страницу — вместо пустого экрана появится текст ошибки с указанием файла и строки.

Порядок действий
  1. 1
    Сделайте резервную копию файла /bitrix/.settings.php
  2. 2
    Установите 'debug' => true в секции exception_handling
  3. 3
    Воспроизведите ошибку и зафиксируйте текст и трассировку
  4. 4
    Верните 'debug' => false после завершения диагностики

Обязательно отключайте отладку после завершения работ. Включённый debug на боевом сайте раскрывает посетителям пути на сервере, фрагменты кода и параметры подключения — это готовая подсказка для атакующего.

Логи почты, агентов и обмена с 1С

Проблемы с отправкой писем диагностируются через несколько мест. События отправки видны в журнале событий, а проверить, дошло ли письмо до почтового сервера, помогает лог отправки: его включают в настройках главного модуля, указав файл в параметре логирования почты. Если используется msmtp или sendmail на сервере, смотрите также системный почтовый лог /var/log/mail.log.

Агенты (планировщик задач Битрикса) проверяются на странице Настройки → Инструменты → Агенты: там видно дату последнего выполнения и результат. Если агенты выполняются на cron, ошибки их работы попадают в лог PHP или в вывод cron-задачи, который часто приходит на почту системного пользователя.

Для обмена с 1С:Управление торговлей или ERP включите логирование в настройках интеграции на стороне 1С и в параметрах обмена на сайте. Файлы обмена (XML каталогов и заказов) складываются во временный каталог внутри /upload/ — по их наличию и содержимому видно, на каком этапе оборвался обмен: выгрузка из 1С, передача на сайт или обработка Битриксом.

Маршрут решения

Как выбрать действие

Сайт показывает белый экран или ошибку 500Смотрите лог ошибок PHP и включите debug в .settings.php
Не приходят письма с сайтаПроверьте журнал событий и лог почтовой отправки, затем /var/log/mail.log
Не проходит обмен с 1СВключите лог обмена и проверьте временные XML-файлы в /upload/
Не выполняются агентыОткройте список агентов в админке и проверьте cron на сервере

Логи веб-сервера и базы данных

Логи Apache или Nginx фиксируют все обращения к сайту и ошибки уровня веб-сервера: недоступность файлов, таймауты, ошибки 502 при проблемах с PHP-FPM. Стандартные пути: /var/log/nginx/error.log и /var/log/nginx/access.log либо аналогичные для Apache. По access-логу удобно искать, какие запросы шли на сайт в момент сбоя.

Если подозрение падает на базу данных — медленные страницы, ошибки подключения — полезен лог медленных запросов MySQL (slow_query_log). В Битриксе также есть встроенный инструмент: на странице Настройки → Производительность → Монитор производительности видно самые тяжёлые страницы и SQL-запросы с временем выполнения.

Типичные ошибки
01
Оставить debug включённым на боевом сайте — раскрывает пути и параметры подключения
02
Искать ошибку PHP в журнале событий админки, куда она не попадает
03
Хранить журнал событий без ограничения срока — таблица разрастается и тормозит админку
04
Удалить лог до копирования — теряется единственное свидетельство причины сбоя
05
Смотреть только последнюю строку лога и игнорировать контекст ошибки выше

Частые вопросы

Где находится журнал событий в Битриксе?

В административной панели: Настройки → Инструменты → Журнал событий. Там есть фильтры по дате, типу события, модулю и пользователю. Срок хранения записей задаётся в настройках главного модуля.

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

Журнал фиксирует только события, которые модули записывают через API. Фатальные ошибки PHP, сбои веб-сервера и проблемы базы данных туда не попадают — их ищите в логе ошибок PHP и логах Nginx/Apache на сервере.

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

Из админки доступны журнал событий, список агентов и монитор производительности. Файловые логи PHP и веб-сервера — через раздел «Логи» в панели хостинга. Если хостинг не даёт доступа, попросите логи у поддержки хостера.

Как включить вывод ошибок на экран?

Установите 'debug' => true в секции exception_handling файла /bitrix/.settings.php и включите display_errors в PHP. После диагностики обязательно верните настройки обратно — открытый вывод ошибок раскрывает внутреннее устройство сайта.

Где искать причину неработающего обмена с 1С?

Включите логирование обмена в настройках интеграции, проверьте временные XML-файлы в каталоге /upload/ и посмотрите лог ошибок PHP на момент обмена. По наличию файлов видно, на каком этапе прервался процесс.

Можно ли очистить разросшийся журнал событий?

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

Итог

Что важно запомнить

Начинайте диагностику с журнала событий в админке, ошибки PHP ищите в серверных логах, для глубокой отладки временно включайте debug в .settings.php и обязательно отключайте его после. Перед любыми действиями с логами делайте копии.