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 49d3fdf0c1
commit 6ed9bb36ac
1 changed files with 17 additions and 2 deletions

View File

@ -90,13 +90,28 @@ class ErrorHandler {
} }
$msg = $message . ' at ' . $file . '#' . $line; $msg = $message . ' at ' . $file . '#' . $line;
$e = new \Error(self::removePassword($msg)); $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 //Recoverable handler which catch all errors, warnings and notices
public static function onAll($number, $message, $file, $line) { public static function onAll($number, $message, $file, $line) {
$msg = $message . ' at ' . $file . '#' . $line; $msg = $message . ' at ' . $file . '#' . $line;
$e = new \Error(self::removePassword($msg)); $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;
}
} }
} }