1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-07-31 18:30:15 +02:00

Ensure private error handler does not cause problems, fixes #1866

This commit is contained in:
Jordi Boggiano
2024-04-15 10:17:33 +02:00
parent a30bfe2e14
commit 233e0b27a0

View File

@@ -134,7 +134,9 @@ class StreamHandler extends AbstractProcessingHandler
}
$this->createDir($url);
$this->errorMessage = null;
set_error_handler([$this, 'customErrorHandler']);
set_error_handler(function (...$args) {
return $this->customErrorHandler(...$args);
});
try {
$stream = fopen($url, 'a');
if ($this->filePermission !== null) {
@@ -212,7 +214,9 @@ class StreamHandler extends AbstractProcessingHandler
$dir = $this->getDirFromStream($url);
if (null !== $dir && !is_dir($dir)) {
$this->errorMessage = null;
set_error_handler([$this, 'customErrorHandler']);
set_error_handler(function (...$args) {
return $this->customErrorHandler(...$args);
});
$status = mkdir($dir, 0777, true);
restore_error_handler();
if (false === $status && !is_dir($dir) && strpos((string) $this->errorMessage, 'File exists') === false) {