Где смотреть ошибки битрикс

На странице Журнал ошибок PHP (Настройки > Производительность > Ошибки PHP (N)) можно просмотреть журнал регистрации ошибок PHP, где N — общее количество ошибок.

Примечание: Данная страница отображается, только если в настройках модуля Монитор производительности указана опция Вести журнал предупреждений PHP.

Фильтр

Форма фильтра используется для фильтрации записей журнала в соответствии с указанными условиями. Нижеследующая таблица описывает параметры, по которым могут выбираться записи.

Поле Описание
Найти Позволяет найти записи об ошибках по их основным параметрам. Это поле присутствует, даже если фильтр свернут.
Хит Позволяет найти записи по идентификатору хита.
Класс ошибки Позволяет осуществлять поиск в журнале по классу (типу) ошибок.
Файл Позволяет осуществлять поиск в журнале по файлу, в котором произошла ошибка.
Текст Позволяет осуществлять поиск в журнале по тексту ошибки.

Чтобы отфильтровать ошибки по заданным критериям поиска, нажмите кнопку Найти. Для отображения всех ошибок нажмите кнопку Отменить.

Контекстная панель

Кнопка Описание
Группировка Позволяет задать способ группировки записей об ошибках в журнале:

  • Группировка включена — журнал будет содержать поля: Класс ошибки, Файл, Строка, Текст, Количество;
  • Группировка выключена — журнал будет содержать поля: ID, Хит, Класс ошибки, Файл, Строка, Текст.
Настроить Переход к диалогу настройки внешнего вида отчетной формы.
Excel Экспорт данных из отображаемой таблицы в MS Excel.

Ошибки PHP

Поле Описание
ID Идентификатор записи об ошибке в журнале.
Хит Идентификатор хита.
Класс ошибки Класс (тип) ошибки.
Файл Путь к файлу в системе, в котором произошла ошибка.
Строка Номер строки в файле.
Текст Текст ошибки.

© «Битрикс», 2001-2023, «1С-Битрикс», 2023

Наверх

Сложность урока:

1 уровень — интуитивно все понятно из интерфейса, но почитать стоит.


1 из 5

Просмотров:
25283

Дата изменения:
16.07.2023

Недоступно в лицензиях:

Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).


Ограничений нет

  Настройки

На странице Монитор производительности: настройки PHP (Настройки > Производительность > PHP) отображается сводная таблица Параметры окружения с анализом параметров PHP.

Монитор производительности: настройки PHP

С помощью ссылки Настройки PHP можно перейти на страницу с подробной информацией (phpinfo).

  Ошибки

На странице Монитор производительности: журнал ошибок PHP (Настройки > Производительность > Ошибки PHP (N)) можно просмотреть журнал регистрации ошибок PHP, где N — общее количество ошибок.

Монитор производительности: сервер БД

Примечание: Данная страница отображается, только если в настройках модуля Монитор производительности указана опция Вести журнал предупреждений PHP.

Журнал ошибок PHP ошибок хранится в базе. Удалить журнал ошибок PHP можно с помощью опции

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

Доступна только при отключенном мониторе




в настройках модуля Монитор производительности.

Объяснять, что такое логи — нет необходимости. Когда есть логи, то проще разобраться с возникшими проблемами и выяснить, почему они начались. Основные моменты в использовании логов.

Логи не должны занимать всё свободное пространство на диске, т.е. в логи нужно помещать только нужную информацию, а не всё подряд. Устаревшие логи должны удаляться. Для удаления устаревших логов лучше всего настроить задание на cron.

Логи должны быть удобными для изучения — логи с ошибками и логи с диагностическими данными должны помещаться в разные файлы. Желательно разделять логи на временные интервалы — например, ежедневные логи (наиболее распространенный вариант, или, например, по месяцам, или неделям).

Все логи нужно держать в одной папке, чтобы было удобней их изучать (/logs/, /_logs/, /local/logs/ и т.п. ). В целях защиты следует закрыть доступ к папке с логами по http — настраивается в .htacces,

deny from all

и/или добавить к названию файла уникальный идентификатор.

Папку для логов надо предварительно создать и убедиться, что битрикс (веб-сервер) имеет права на запись в нее.

В системе 1С-Битрикс существует 2 вида логов:

ADDMESSAGE2LOG(…)

Это функция из старого ядра. Многие модули пишут через нее отладочную информацию.

Пример настройки места хранения логов, выводимых данной функцией, выглядит так (папка logs/bx должна быть создана):

define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"] . "/logs/bx/" . date("Y-m-d") . ".log");

Прописать данную настройку можно, например, в dbconn.php.

СЕКЦИЯ EXCEPTION_HANDLING В ФАЙЛЕ .SETTINGS.PHP

Это уже функционал нового ядра D7.

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

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

'exception_handling' => array (
  'value' => array (
      'debug' => false, // disables error output to screen
       // ошибки для вывода в лог
      'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING,
      'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_COMPILE_WARNING,
      'ignore_silence' => true,
      'assertion_throws_exception' => true,
      'assertion_error_type' => 256,
      'log' => array (
          'settings' => array (
              'file' => "logs/bx_error/" . date("Y-m-d") . ".log",
			  'log_size' => 1000000, // ~ 1Mb per file
          ),
      ),
  ),
  'readonly' => true,
),

ФУНКЦИИ ОТЛАДКИ В ЯДРЕ D7

На замену функции AddMessage2Log в ядре D7 пришли новые функции:

use Bitrix\Main\Diag\Debug;
Debug::dumpToFile($_SERVER); // для случаев, когда нужен var_dump
Debug::writeToFile($_SERVER); // когда нужен print_r

Также в ядре D7 появились методы, для измерения времени. В старом ядре аналогов не было.

use Bitrix\Main\Diag\Debug;
Debug::startTimeLabel("foo");
foo();
Debug::endTimeLabel("foo");

Debug::startTimeLabel("bar");
bar();
Debug::endTimeLabel("bar");

print_r(Debug::getTimeLabels());

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

Если битрикс свежий и в папке /bitrix/ есть файл .settings.php, то там можно указать файл для лога ошибок и типы ошибок которые будут туда записываться.

У меня на локалке настройки такие:

'exception_handling' => 
  array (
    'value' => 
    array (
      'debug' => true,
      'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE & ~E_DEPRECATED,
      'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING,
      'ignore_silence' => true,
      'assertion_throws_exception' => false,
      'assertion_error_type' => 256,
      'log' => array (
        'settings' => array (
          'file' => 'bitrix/modules/error.log',
          'log_size' => 1000000,
        ),
	  ),
    ),
    'readonly' => true,
  ),

Проверяем логи, битрикс окружение

bitrix, nginx, apache, php, mysql, sendmail, cron

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

Для битрикс окружения на centos пути к логам обычно будут такими (зависит от настроек):

  1. Битрикс: __bx_log.log или log.txt в корне сайта. Зависит от переменной LOG_FILENAME в файле /bitrix/php_interface/dbconn.php
  2. Apache: /var/log/httpd/error_log
  3. Nginx: /var/log/nginx/error.log
  4. PHP: /var/log/php/exceptions.log
  5. Почта: /home/bitrix/msmtp_default.log
  6. bash, cron: /var/spool/mail/root и /var/spool/mail/bitrix
  7. bitrixvm: /opt/webdir/temp (логи запущенных задач)

Как часто надо проверять? Раз в неделю стоит поглядывать, я думаю. Просто что бы убедиться, что эти файлы пусты и ошибок не было.

И как бонус стоит проверить файл /var/log/btmp командой last -f /var/log/btmp если там очень много попыток авторизации, значит доступ к ssh пытаются «брутфорсить». Стоит изменить порт доступа к ssh (в файле /etc/ssh/sshd_config поменять строку «Port 22» на другое значение, разрешить доступ к новому порту в iptables и перезагрузить sshd) Что бы сбросить лог авторизации нужно выполнить команду cat /dev/null > /var/log/btmp

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 21 апреля 2017 | Обновлено 24 июля 2020

Возврат к списку

Понравилась статья? Поделить с друзьями:
  • Где посмотреть код ошибки синего экрана windows 10
  • Где посмотреть номер ошибки синего экрана
  • Где посмотреть логи ошибок виндовс
  • Где посмотреть логи ошибок windows server 2012
  • Где посмотреть ошибки синих экранов