diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index fc1289425..436cc4cd9 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -21,7 +21,32 @@ parameters: path: src/Monolog/Formatter/WildfireFormatter.php - - message: "#^Cannot access offset 'items' on array\\|Elastic\\\\Elasticsearch\\\\Response\\\\Elasticsearch\\.$#" + message: "#^Access to constant VERSION on an unknown class Elasticsearch\\\\Client\\.$#" + count: 1 + path: src/Monolog/Handler/ElasticsearchHandler.php + + - + message: "#^Call to method bulk\\(\\) on an unknown class Elasticsearch\\\\Client\\.$#" + count: 1 + path: src/Monolog/Handler/ElasticsearchHandler.php + + - + message: "#^Method Monolog\\\\Handler\\\\ElasticsearchHandler\\:\\:createExceptionFromError\\(\\) should return Throwable but returns Elasticsearch\\\\Common\\\\Exceptions\\\\RuntimeException\\.$#" + count: 1 + path: src/Monolog/Handler/ElasticsearchHandler.php + + - + message: "#^Method Monolog\\\\Handler\\\\ElasticsearchHandler\\:\\:createExceptionFromResponses\\(\\) should return Throwable but returns Elasticsearch\\\\Common\\\\Exceptions\\\\RuntimeException\\.$#" + count: 1 + path: src/Monolog/Handler/ElasticsearchHandler.php + + - + message: "#^Parameter \\$client of method Monolog\\\\Handler\\\\ElasticsearchHandler\\:\\:__construct\\(\\) has invalid type Elasticsearch\\\\Client\\.$#" + count: 2 + path: src/Monolog/Handler/ElasticsearchHandler.php + + - + message: "#^Property Monolog\\\\Handler\\\\ElasticsearchHandler\\:\\:\\$client has unknown class Elasticsearch\\\\Client as its type\\.$#" count: 1 path: src/Monolog/Handler/ElasticsearchHandler.php diff --git a/src/Monolog/Handler/ElasticsearchHandler.php b/src/Monolog/Handler/ElasticsearchHandler.php index 74cc7b6e6..6fd705de4 100644 --- a/src/Monolog/Handler/ElasticsearchHandler.php +++ b/src/Monolog/Handler/ElasticsearchHandler.php @@ -209,7 +209,11 @@ protected function createExceptionFromResponses($responses): Throwable return new ElasticInvalidArgumentException('Elasticsearch failed to index one or more records.'); } - return new ElasticsearchRuntimeException('Elasticsearch failed to index one or more records.'); + if (class_exists(ElasticsearchRuntimeException::class)) { + return new ElasticsearchRuntimeException('Elasticsearch failed to index one or more records.'); + } + + throw new \LogicException('Unsupported elastic search client version'); } /** @@ -225,6 +229,10 @@ protected function createExceptionFromError(array $error): Throwable return new ElasticInvalidArgumentException($error['type'] . ': ' . $error['reason'], 0, $previous); } - return new ElasticsearchRuntimeException($error['type'] . ': ' . $error['reason'], 0, $previous); + if (class_exists(ElasticsearchRuntimeException::class)) { + return new ElasticsearchRuntimeException($error['type'].': '.$error['reason'], 0, $previous); + } + + throw new \LogicException('Unsupported elastic search client version'); } }