It is often useful to have info logging on in production. However, you can't do that with the default CakePHP logging as we log deprecation warnings at info. Moving deprecations to debug allows us to have easier to control logging.
@@ -64,12 +64,12 @@ class ErrorLogger implements ErrorLoggerInterface
if ($includeTrace) {
$message .= "\nTrace:\n" . $error->getTraceAsString() . "\n";
}
- $logMap = [
+ $label = $error->getLabel();
+ $level = match ($label) {
'strict' => LOG_NOTICE,
- 'deprecated' => LOG_NOTICE,
- ];
- $level = $error->getLabel();
- $level = $logMap[$level] ?? $level;
+ 'deprecated' => LOG_DEBUG,
+ default => $label,
+ };
Log::write($level, $message);
@@ -104,7 +104,7 @@ class ErrorTrapTest extends TestCase
// PHP error level, expected log level
[E_USER_WARNING, 'warning'],
[E_USER_NOTICE, 'notice'],
- [E_USER_DEPRECATED, 'notice'],
+ [E_USER_DEPRECATED, 'debug'],
];