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

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");


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

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

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

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

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



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

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