aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Log/ErrorHandler.php21
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/private/Log/ErrorHandler.php b/lib/private/Log/ErrorHandler.php
index 3f4c9ee64b1..c293c5db83d 100644
--- a/lib/private/Log/ErrorHandler.php
+++ b/lib/private/Log/ErrorHandler.php
@@ -90,13 +90,30 @@ 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:
+ return ILogger::DEBUG;
+
+ case E_USER_NOTICE:
+ return ILogger::INFO;
+
+ case E_USER_ERROR:
+ default:
+ return ILogger::ERROR;
+ }
}
}