Respect the error level when logging

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2021-04-26 14:18:18 +02:00 committed by backportbot[bot]
parent 7028094ece
commit e3e4bfb163
1 changed files with 17 additions and 2 deletions

View File

@ -89,13 +89,28 @@ class ErrorHandler {
}
$msg = $message . ' at ' . $file . '#' . $line;
$e = new \Error(self::removePassword($msg));
self::$logger->logException($e, ['app' => 'PHP']);
self::$logger->logException($e, ['app' => 'PHP', 'level' => self::errnoToLogLevel($number)]);
}
//Recoverable handler which catch all errors, warnings and notices
public static function onAll($number, $message, $file, $line) {
$msg = $message . ' at ' . $file . '#' . $line;
$e = new \Error(self::removePassword($msg));
self::$logger->logException($e, ['app' => 'PHP', 'level' => 0]);
self::$logger->logException($e, ['app' => 'PHP', 'level' => self::errnoToLogLevel($number)]);
}
public static function errnoToLogLevel(int $errno): int {
switch ($errno) {
case E_USER_WARNING:
return ILogger::WARN;
case E_USER_DEPRECATED:
case E_USER_NOTICE:
return ILogger::INFO;
case E_USER_ERROR:
default:
return ILogger::ERROR;
}
}
}