- Модуль: 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);
}