Сентябрь 13, 2019
Теги: Отладка
Логирование результатов и времени выполнения агентов в файл.
Данная функция запишет в файл информацию отдельно о начале и окончании выполнения агента:
define('BX_AGENTS_LOG_FUNCTION', 'TestAgents');
function TestAgents($agent, $operation, $result=false, $return=false)
{
clearstatcache();
$handle = fopen($_SERVER["DOCUMENT_ROOT"]."/agents.txt", "a");
static $log = array();
$time = date('Y-m-d-H:i:s');
if($operation=='start')
{
$log[$agent['ID']] = microtime(true);
fwrite($handle, $_SERVER["REQUEST_TIME_FLOAT"].'-'.$time.'-'.$agent['ID'].'-start: '.$agent['NAME'].' ['.$agent['MODULE_ID'].'], '.$agent['AGENT_INTERVAL']."\n");
}
elseif($operation=='finish')
{
fwrite($handle, $_SERVER["REQUEST_TIME_FLOAT"].'-'.$time.'-'.$agent['ID'].'-finish ('.number_format(microtime(true) - $log[$agent['ID']], 4, '.', ' ').'s): '.$agent['NAME'].' ['.$agent['MODULE_ID'].'], '.$agent['AGENT_INTERVAL']."\n");
}
fclose($handle);
}