Improved error/exception handler and logging
This commit is contained in:
parent
a4b33b97d9
commit
1feb6d2ef6
|
@ -69,8 +69,17 @@ class Handler
|
||||||
{
|
{
|
||||||
$fatal_error = error_get_last();
|
$fatal_error = error_get_last();
|
||||||
|
|
||||||
if ($fatal_error['type'] === E_ERROR) {
|
try {
|
||||||
|
if (($e = error_get_last()) !== null) {
|
||||||
|
$e = new \ErrorException(
|
||||||
|
sprintf('%s: %s in %s line %d', $fatal_error['type'], $fatal_error['message'], $fatal_error['file'], $fatal_error['line']),
|
||||||
|
0, $fatal_error['type'], $fatal_error['file'], $fatal_error['line']
|
||||||
|
);
|
||||||
|
$this->log($e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (\Exception $e)
|
||||||
|
{
|
||||||
$e = new \ErrorException(
|
$e = new \ErrorException(
|
||||||
sprintf('%s: %s in %s line %d', $fatal_error['type'], $fatal_error['message'], $fatal_error['file'], $fatal_error['line']),
|
sprintf('%s: %s in %s line %d', $fatal_error['type'], $fatal_error['message'], $fatal_error['file'], $fatal_error['line']),
|
||||||
0, $fatal_error['type'], $fatal_error['file'], $fatal_error['line']
|
0, $fatal_error['type'], $fatal_error['file'], $fatal_error['line']
|
||||||
|
|
|
@ -48,7 +48,7 @@ class LoggerConfig {
|
||||||
*/
|
*/
|
||||||
public function getFor($name) {
|
public function getFor($name) {
|
||||||
$handlers = $this->getHandlers(self::KEY_AlwaysLoaded);
|
$handlers = $this->getHandlers(self::KEY_AlwaysLoaded);
|
||||||
//$handlers = array_merge($handlers, $this->getHandlers($name));
|
$handlers = array_merge($handlers, $this->getHandlers($name));
|
||||||
return new Logger($name, $handlers);
|
return new Logger($name, $handlers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ if (!file_exists(dirname(__FILE__) . '/vendor/autoload.php') && defined('PHPCI_I
|
||||||
require_once(dirname(__FILE__) . '/vendor/autoload.php');
|
require_once(dirname(__FILE__) . '/vendor/autoload.php');
|
||||||
|
|
||||||
$loggerConfig = LoggerConfig::newFromFile(__DIR__ . "/loggerconfig.php");
|
$loggerConfig = LoggerConfig::newFromFile(__DIR__ . "/loggerconfig.php");
|
||||||
Handler::register($loggerConfig->getFor('Exceptions'));
|
Handler::register($loggerConfig->getFor('_'));
|
||||||
|
|
||||||
// Load configuration if present:
|
// Load configuration if present:
|
||||||
$conf = array();
|
$conf = array();
|
||||||
|
|
Loading…
Reference in a new issue