Загрузка страницы..
Отладка в CMS 1C-Bitrix (AddMessage2Log)
Штатный отладчик Битрикс
2015-11-30T10:11 30 нояб. 2015 10:11
Просмотров: 3863

При отладке работы конструкций(функций, модулей) в CMS 1C-Bitrix используется функция AddMessage2Log(). Работа данной функции заключается в добавлении сообщения в предопределённый log-файл. Для работы данного метода отладки необходимо определить константу LOG_FILENAME. Это можно сделать в файлах init.php или в dbconn.php находящихся соответственно в директории php_interface:

define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");

Так же данную константу можно определить в начале страницы перед её использованием. Пользоваться функцией AddMessage2Log() можно так:

AddMessage2Log("Ошибка добавления комментария", "comment");
//или так
AddMessage2Log('$arResult = '.print_r($arResult, true),'');

Аналог функции в новом ядре:

Bitrix\Main\Diag\Debug::dumpToFile и Bitrix\Main\Diag\Debug::writeToFile.

Bitrix\Main\Diag\Debug::dumpToFile(['ID' => $id, 'fields'=>$fields ],"","__log.log"); 
вывод соответственно будет через var_dump.
Bitrix\Main\Diag\Debug::writeToFile(['ID' => $id, 'fields'=>$fields ],"","__log.log");

тут у нас первым параметром идет сами данные, которые мы хотим увидеть, вторым идет название переменной, а третьим - имя файла (можно указывать путь, к примеру /bitrix/log.log)

Учет времени

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

Bitrix\Main\Diag\Debug::startTimeLabel('test'); 

в конец:

Bitrix\Main\Diag\Debug::endTimeLabel('test');

И для вывода используем:

Bitrix\Main\Diag\Debug::getTimeLabels(); 

метод возвращаем массив со всеми включенными учетами времени


Helper

Также есть вспомогательный класс Helper (Bitrix\Main\Diag\Helper), в котором всего пару функций:

Bitrix\Main\Diag\Helper::getCurrentMicrotime(); 
и
Bitrix\Main\Diag\Helper::getBackTrace($limit = 0, $options = null); 
думаю, из названия и так понятно, для чего они нам могут пригодиться.


Комментарии: 0

Коментарий пока нет, стань первым!

Добавить комментарий

Яндекс.Метрика Яндекс.Метрик