diff --git a/src/Monolog/Handler/ProcessHandler.php b/src/Monolog/Handler/ProcessHandler.php index 96649aad..2855a9f7 100644 --- a/src/Monolog/Handler/ProcessHandler.php +++ b/src/Monolog/Handler/ProcessHandler.php @@ -43,10 +43,10 @@ class ProcessHandler extends AbstractProcessingHandler */ private array $pipes = []; - private float $timeout; + private float $timeout; /** - * @var array + * @var array> */ protected const DESCRIPTOR_SPEC = [ 0 => ['pipe', 'r'], // STDIN is a pipe that the child will read from diff --git a/src/Monolog/Handler/SlackWebhookHandler.php b/src/Monolog/Handler/SlackWebhookHandler.php index eac51ccb..f265d80c 100644 --- a/src/Monolog/Handler/SlackWebhookHandler.php +++ b/src/Monolog/Handler/SlackWebhookHandler.php @@ -27,6 +27,8 @@ class SlackWebhookHandler extends AbstractProcessingHandler { /** * Slack Webhook token + * + * @var non-empty-string */ private string $webhookUrl; @@ -36,7 +38,7 @@ class SlackWebhookHandler extends AbstractProcessingHandler private SlackRecord $slackRecord; /** - * @param string $webhookUrl Slack Webhook URL + * @param non-empty-string $webhookUrl Slack Webhook URL * @param string|null $channel Slack channel (encoded ID or name) * @param string|null $username Name of a bot * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise) diff --git a/src/Monolog/Handler/StreamHandler.php b/src/Monolog/Handler/StreamHandler.php index 6153cc28..8d4e3f5d 100644 --- a/src/Monolog/Handler/StreamHandler.php +++ b/src/Monolog/Handler/StreamHandler.php @@ -201,6 +201,9 @@ class StreamHandler extends AbstractProcessingHandler fwrite($stream, (string) $record->formatted); } + /** + * @return true + */ private function customErrorHandler(int $code, string $msg): bool { $this->errorMessage = preg_replace('{^(fopen|mkdir|fwrite)\(.*?\): }', '', $msg); diff --git a/tests/Monolog/Formatter/LineFormatterTest.php b/tests/Monolog/Formatter/LineFormatterTest.php index 37f77dc3..5360d948 100644 --- a/tests/Monolog/Formatter/LineFormatterTest.php +++ b/tests/Monolog/Formatter/LineFormatterTest.php @@ -193,9 +193,8 @@ class LineFormatterTest extends MonologTestCase }); $message = $formatter->format($this->getRecord(Level::Critical, context: ['exception' => new \RuntimeException('Foo')])); - $trace = explode('[stacktrace]', $message, 2)[1]; - $this->assertStringNotContainsString('#', $trace); - $this->assertSame(PHP_EOL . PHP_EOL . '"} []' . PHP_EOL, $trace); + $this->assertStringNotContainsString('[stacktrace]', $message); + $this->assertStringEndsWith('"} []' . PHP_EOL, $message); } public function testDefFormatWithPreviousException()