Improved error/exception handler and logging

This commit is contained in:
Dmitry Khomutov 2014-03-20 22:17:54 +07:00
parent a4b33b97d9
commit 1feb6d2ef6
3 changed files with 13 additions and 4 deletions

View file

@ -69,8 +69,17 @@ class Handler
{
$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(
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']

View file

@ -48,7 +48,7 @@ class LoggerConfig {
*/
public function getFor($name) {
$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);
}

View file

@ -44,7 +44,7 @@ if (!file_exists(dirname(__FILE__) . '/vendor/autoload.php') && defined('PHPCI_I
require_once(dirname(__FILE__) . '/vendor/autoload.php');
$loggerConfig = LoggerConfig::newFromFile(__DIR__ . "/loggerconfig.php");
Handler::register($loggerConfig->getFor('Exceptions'));
Handler::register($loggerConfig->getFor('_'));
// Load configuration if present:
$conf = array();