function exceptionHandler()

in provider/FSOFProvider.php [42:85]


function exceptionHandler($exception)
{
	$exceptionHash = array(
    	'className' => 'Exception',
        'message' => $exception->getMessage(),
        'code' => $exception->getCode(),
        'file' => $exception->getFile(),
        'line' => $exception->getLine(),
        'trace' => array(),
    );

	$traceItems = $exception->getTrace();
    foreach ($traceItems as $traceItem) 
    {
        $traceHash = array(
            'file' => isset($traceItem['file']) ? $traceItem['file'] : 'null',
            'line' => isset($traceItem['line']) ? $traceItem['line'] : 'null',
            'function' => isset($traceItem['function']) ? $traceItem['function'] : 'null',
            'args' => array(),
        );

        if (!empty($traceItem['class'])) 
        {
            $traceHash['class'] = $traceItem['class'];
        }

        if (!empty($traceItem['type'])) 
        {
            $traceHash['type'] = $traceItem['type'];
        }

        if (!empty($traceItem['args'])) 
        {
            foreach ($traceItem['args'] as $argsItem) 
            {
                $traceHash['args'][] = \var_export($argsItem, true);
            }
        }

        $exceptionHash['trace'][] = $traceHash;
    }

    \Logger::getLogger(__CLASS__)->error(print_r($exceptionHash, true));
}