[Debug] Fix log level of stacked errors
This commit is contained in:
parent
04ccdc14fe
commit
d2ebd51113
@ -412,7 +412,7 @@ class ErrorHandler
|
|||||||
if ($this->isRecursive) {
|
if ($this->isRecursive) {
|
||||||
$log = 0;
|
$log = 0;
|
||||||
} elseif (self::$stackedErrorLevels) {
|
} elseif (self::$stackedErrorLevels) {
|
||||||
self::$stackedErrors[] = array($this->loggers[$type], $message, $e);
|
self::$stackedErrors[] = array($this->loggers[$type][0], ($type & $level) ? $this->loggers[$type][1] : LogLevel::DEBUG, $message, $e);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
$this->isRecursive = true;
|
$this->isRecursive = true;
|
||||||
@ -581,7 +581,7 @@ class ErrorHandler
|
|||||||
self::$stackedErrors = array();
|
self::$stackedErrors = array();
|
||||||
|
|
||||||
foreach ($errors as $e) {
|
foreach ($errors as $e) {
|
||||||
$e[0][0]->log($e[0][1], $e[1], $e[2]);
|
$e[0]->log($e[1], $e[2], $e[3]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -318,6 +318,40 @@ class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testErrorStacking()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$handler = ErrorHandler::register();
|
||||||
|
$handler->screamAt(E_USER_WARNING);
|
||||||
|
|
||||||
|
$logger = $this->getMock('Psr\Log\LoggerInterface');
|
||||||
|
|
||||||
|
$logger
|
||||||
|
->expects($this->exactly(2))
|
||||||
|
->method('log')
|
||||||
|
->withConsecutive(
|
||||||
|
array($this->equalTo(LogLevel::WARNING), $this->equalTo('Dummy log')),
|
||||||
|
array($this->equalTo(LogLevel::DEBUG), $this->equalTo('Silenced warning'))
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
$handler->setDefaultLogger($logger, array(E_USER_WARNING => LogLevel::WARNING));
|
||||||
|
|
||||||
|
ErrorHandler::stackErrors();
|
||||||
|
@trigger_error('Silenced warning', E_USER_WARNING);
|
||||||
|
$logger->log(LogLevel::WARNING, 'Dummy log');
|
||||||
|
ErrorHandler::unstackErrors();
|
||||||
|
|
||||||
|
restore_error_handler();
|
||||||
|
restore_exception_handler();
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
restore_error_handler();
|
||||||
|
restore_exception_handler();
|
||||||
|
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function testHandleFatalError()
|
public function testHandleFatalError()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
Reference in New Issue
Block a user