Документация для разработчиков

AddMessage2Log

AddMessage2Log(
 string text,
 string module_id = "",
 traceDepth = 6,
 bool ShowArgs = false
);

Функция добавляет новую запись в log-файл. Путь до файла (или имя файла) рекомендуется делать уникальным в рамках каждого проекта.

Для работы функции необходимо, чтобы до ее вызова была определена константа LOG_FILENAME, содержащая абсолютный путь к log-файлу. Если эта константа не определена, то функция не выполняет никаких действий. Константа LOG_FILENAME при необходимости определяется в начале текущей страницы или в одном из файлов:

  • /bitrix/php_interface/dbconn.php
  • /bitrix/php_interface/ID сайта/init.php

Данная функция вызывается в случае ошибки в следующих функциях:

Log-файл накапливает все добавленные в него сообщения. Для очистки log-файла его можно просто удалить с диска.

Примечание. Существует возможность записывать в отдельный отладочный файл все запросы к базе данных и время их выполнения, для этого необходимо инициализировать переменную $DBDebugToFile, значением "true" в файле /bitrix/php_interface/dbconn.php.

Аналог функции в новом ядре: Bitrix\Main\Diag\Debug::dumpToFile и Bitrix\Main\Diag\Debug::writeToFile.

Параметры функции

ПараметрОписание С версии
text Текст сообщения.
module_id Идентификатор модуля, который сохраняет сообщение.
Необязательный параметр, по умолчанию - "".
traceDepth Необязательный параметр, по умолчанию - "6".11.0.14
ShowArgs Необязательный параметр, по умолчанию - "false".11.0.14

См. также

Специальные переменные включающие отладку

Примеры использования

<?
// файл /bitrix/php_interface/dbconn.php

// определим константу LOG_FILENAME, в которой зададим путь к лог-файлу
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
?>
<?
// Сохраним в лог сообщение
AddMessage2Log("Произвольный текст сообщения", "my_module_id");
?>
<?
// выполним преднамеренно некорректный SQL-запрос
$DB->Query("SELECT");
// работа скрипта будет прекращена и в лог-файл будет добавлено сообщение об ошибке
?>
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"] . "/_logs/bx/" . date("Y_m_d") . "_PROJECT_UNIQUE_POSTFIX.log");


Пользовательские комментарии

Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.

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

Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
5
Дилшод Сангинов
Код
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log/" . date("Ymd") . ".log");
 
и запрет на директорию log/ в .htaccess -е..
7
Артемий Зайцев
Определение файла лога по умолчанию log.txt - далеко не безопасный способ. Кто угодно может открыть его на вашем сайте.

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



Чтобы никто не мог читать ваш лог, назовите его оригинально:

Код
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/mylog-394857399875.txt");
© «Битрикс», 2001-2018, «1С-Битрикс», 2018
Наверх