• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/diag/logformatter.php
  • Класс: BitrixMainDiagLogFormatter
  • Вызов: LogFormatter::formatArgument
public function formatArgument($arg)
{
	if (!$this->showArguments)
	{
		return gettype($arg);
	}

	switch (gettype($arg))
	{
		case 'boolean':
			$result = $arg ? 'true' : 'false';
			break;
		case 'NULL':
			$result = 'null';
			break;
		case 'integer':
		case 'double':
		case 'float':
			$result = (string)$arg;
			break;
		case 'string':
			if (is_callable($arg, false, $callableName))
			{
				$result = 'fs:' . $callableName;
			}
			elseif (class_exists($arg, false))
			{
				$result = 'c:' . $arg;
			}
			elseif (interface_exists($arg, false))
			{
				$result = 'i:' . $arg;
			}
			else
			{
				if (mb_strlen($arg) > $this->argMaxChars)
				{
					$result = '"' . mb_substr($arg, 0, $this->argMaxChars / 2) . '...' . mb_substr($arg, -$this->argMaxChars / 2) . '" (' . mb_strlen($arg) . ')';
				}
				else
				{
					$result = '"' . $arg . '"';
				}
			}
			break;
		case 'array':
			if (is_callable($arg, false, $callableName))
			{
				$result = 'fa:' . $callableName;
			}
			else
			{
				$result = 'array(' . count($arg) . ')';
			}
			break;
		case 'object':
			$result = '[' . get_class($arg) . ']';
			break;
		case 'resource':
			$result = 'r:' . get_resource_type($arg);
			break;
		default:
			$result = 'unknown type';
			break;
	}

	return str_replace("n", 'n', $result);
}