• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/application.php
  • Класс: BitrixMainApplication
  • Вызов: Application::createExceptionHandlerLog
public function createExceptionHandlerLog()
{
	$exceptionHandling = ConfigConfiguration::getValue("exception_handling");

	if (!is_array($exceptionHandling) || !isset($exceptionHandling["log"]) || !is_array($exceptionHandling["log"]))
	{
		return null;
	}

	$options = $exceptionHandling["log"];

	$log = null;

	if (isset($options["class_name"]) && !empty($options["class_name"]))
	{
		if (isset($options["extension"]) && !empty($options["extension"]) && !extension_loaded($options["extension"]))
		{
			return null;
		}

		if (isset($options["required_file"]) && !empty($options["required_file"]) && ($requiredFile = Loader::getLocal($options["required_file"])) !== false)
		{
			require_once($requiredFile);
		}

		$className = $options["class_name"];
		if (!class_exists($className))
		{
			return null;
		}

		$log = new $className();
	}
	elseif (isset($options["settings"]) && is_array($options["settings"]))
	{
		$log = new DiagFileExceptionHandlerLog();
	}
	else
	{
		return null;
	}

	$log->initialize(
		isset($options["settings"]) && is_array($options["settings"]) ? $options["settings"] : array()
	);

	return $log;
}