<?php
use App\Application;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Logger;
use Prime\Core\Exceptions\CompileErrorException;
use Prime\Core\Exceptions\CoreErrorException;
use Prime\Core\Exceptions\CoreWarningException;
use Prime\Core\Exceptions\DeprecatedException;
use Prime\Core\Exceptions\NoticeException;
use Prime\Core\Exceptions\ParseException;
use Prime\Core\Exceptions\RecoverableErrorException;
use Prime\Core\Exceptions\StrictException;
use Prime\Core\Exceptions\UserDeprecatedException;
use Prime\Core\Exceptions\UserErrorException;
use Prime\Core\Exceptions\UserNoticeException;
use Prime\Core\Exceptions\UserWarningException;
use Prime\Core\Exceptions\WarningException;
use Prime\FileSystem\Filesystem;
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
/**
* Executa um dump do valor passado e finaliza
* o fluxo da aplicação
* @param type $value
*/
function dd($value)
{
var_dump($value);
die();
}
function dump($value)
{
echo '<pre>';
var_dump($value);
echo '</pre>';
}
/**
* Retorna uma string contendo sha1 de 40 caracteres
* @return string
*/
function tokenId()
{
return Application::getInstance()->getKernel()->getRequest()->getSession()->get('token.id');
}
function primeErrorHandler($err_severity, $err_msg, $err_file, $err_line)
{
switch ($err_severity) {
case E_WARNING: throw new WarningException($err_msg, Logger::WARNING, $err_severity, $err_file, $err_line);
case E_PARSE: throw new ParseException($err_msg, Logger::ERROR, $err_severity, $err_file, $err_line);
case E_NOTICE: throw new NoticeException($err_msg, Logger::NOTICE, $err_severity, $err_file, $err_line);
case E_CORE_ERROR: throw new CoreErrorException($err_msg, Logger::ERROR, $err_severity, $err_file, $err_line);
case E_CORE_WARNING: throw new CoreWarningException($err_msg, Logger::WARNING, $err_severity, $err_file, $err_line);
case E_COMPILE_ERROR: throw new CompileErrorException($err_msg, Logger::ERROR, $err_severity, $err_file, $err_line);
case E_COMPILE_WARNING: throw new CoreWarningException($err_msg, Logger::WARNING, $err_severity, $err_file, $err_line);
case E_USER_ERROR: throw new UserErrorException($err_msg, Logger::ERROR, $err_severity, $err_file, $err_line);
case E_USER_WARNING: throw new UserWarningException($err_msg, Logger::WARNING, $err_severity, $err_file, $err_line);
case E_USER_NOTICE: throw new UserNoticeException($err_msg, Logger::NOTICE, $err_severity, $err_file, $err_line);
case E_STRICT: throw new StrictException($err_msg, Logger::WARNING, $err_severity, $err_file, $err_line);
case E_RECOVERABLE_ERROR: throw new RecoverableErrorException($err_msg, Logger::ERROR, $err_severity, $err_file, $err_line);
case E_DEPRECATED: throw new DeprecatedException($err_msg, Logger::ALERT, $err_severity, $err_file, $err_line);
case E_USER_DEPRECATED: throw new UserDeprecatedException($err_msg, Logger::ALERT, $err_severity, $err_file, $err_line);
default: throw new ErrorException($err_msg, Logger::ERROR, $err_severity, $err_file, $err_line);
}
}
function primeExceptionHandler(Exception $exc)
{
$logger = new Logger('app_runtime');
$logger->pushHandler(new RotatingFileHandler(Filesystem::getInstance()->getPath('log') . '/app.log'));
$code = $exc->getCode();
if ($code == 0) {
$code = Logger::ALERT;
}
$logger->log($code, $exc->getMessage());
}
|