1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-04 12:17:35 +02:00

replace deprecated method calls in GelfMessageFormatter (#1664)

- the getter/setter methods for file, level and facility are deprecated in gelf v1.1
- add those fields as additional instead, as suggested in the gelf spec (https://docs.graylog.org/v1/docs/gelf#gelf-payload-specification)
- update tests to reflect changes
This commit is contained in:
Jan-Eric Ortgies
2022-05-08 23:13:55 +02:00
committed by GitHub
parent acc142c2b7
commit 709cb93aa6
3 changed files with 16 additions and 17 deletions

View File

@@ -108,14 +108,14 @@ class GelfMessageFormatter extends NormalizerFormatter
} }
if (isset($record->channel)) { if (isset($record->channel)) {
$message->setFacility($record->channel); $message->setAdditional('facility', $record->channel);
} }
if (isset($extra['line'])) { if (isset($extra['line'])) {
$message->setLine($extra['line']); $message->setAdditional('line', $extra['line']);
unset($extra['line']); unset($extra['line']);
} }
if (isset($extra['file'])) { if (isset($extra['file'])) {
$message->setFile($extra['file']); $message->setAdditional('file', $extra['file']);
unset($extra['file']); unset($extra['file']);
} }
@@ -141,11 +141,10 @@ class GelfMessageFormatter extends NormalizerFormatter
$message->setAdditional($this->contextPrefix . $key, $val); $message->setAdditional($this->contextPrefix . $key, $val);
} }
/** @phpstan-ignore-next-line */ if (!$message->hasAdditional('file') && isset($context['exception']['file'])) {
if (null === $message->getFile() && isset($context['exception']['file'])) {
if (1 === preg_match("/^(.+):([0-9]+)$/", $context['exception']['file'], $matches)) { if (1 === preg_match("/^(.+):([0-9]+)$/", $context['exception']['file'], $matches)) {
$message->setFile($matches[1]); $message->setAdditional('file', $matches[1]);
$message->setLine($matches[2]); $message->setAdditional('line', $matches[2]);
} }
} }

View File

@@ -41,9 +41,9 @@ class GelfMessageFormatterTest extends TestCase
$this->assertInstanceOf('Gelf\Message', $message); $this->assertInstanceOf('Gelf\Message', $message);
$this->assertEquals(0, $message->getTimestamp()); $this->assertEquals(0, $message->getTimestamp());
$this->assertEquals('log', $message->getShortMessage()); $this->assertEquals('log', $message->getShortMessage());
$this->assertEquals('meh', $message->getFacility()); $this->assertEquals('meh', $message->getAdditional('facility'));
$this->assertEquals(null, $message->getLine()); $this->assertEquals(false, $message->hasAdditional('line'));
$this->assertEquals(null, $message->getFile()); $this->assertEquals(false, $message->hasAdditional('file'));
$this->assertEquals($this->isLegacy() ? 3 : 'error', $message->getLevel()); $this->assertEquals($this->isLegacy() ? 3 : 'error', $message->getLevel());
$this->assertNotEmpty($message->getHost()); $this->assertNotEmpty($message->getHost());
@@ -73,8 +73,8 @@ class GelfMessageFormatterTest extends TestCase
$message = $formatter->format($record); $message = $formatter->format($record);
$this->assertInstanceOf('Gelf\Message', $message); $this->assertInstanceOf('Gelf\Message', $message);
$this->assertEquals('test', $message->getFile()); $this->assertEquals('test', $message->getAdditional('file'));
$this->assertEquals(14, $message->getLine()); $this->assertEquals(14, $message->getAdditional('line'));
} }
/** /**
@@ -135,8 +135,8 @@ class GelfMessageFormatterTest extends TestCase
$this->assertInstanceOf('Gelf\Message', $message); $this->assertInstanceOf('Gelf\Message', $message);
$this->assertEquals("/some/file/in/dir.php", $message->getFile()); $this->assertEquals("/some/file/in/dir.php", $message->getAdditional('file'));
$this->assertEquals("56", $message->getLine()); $this->assertEquals("56", $message->getAdditional('line'));
} }
/** /**

View File

@@ -55,7 +55,7 @@ class GelfHandlerTest extends TestCase
$expectedMessage = new Message(); $expectedMessage = new Message();
$expectedMessage $expectedMessage
->setLevel(7) ->setLevel(7)
->setFacility("test") ->setAdditional('facility', 'test')
->setShortMessage($record->message) ->setShortMessage($record->message)
->setTimestamp($record->datetime) ->setTimestamp($record->datetime)
; ;
@@ -76,7 +76,7 @@ class GelfHandlerTest extends TestCase
$expectedMessage = new Message(); $expectedMessage = new Message();
$expectedMessage $expectedMessage
->setLevel(4) ->setLevel(4)
->setFacility("test") ->setAdditional('facility', 'test')
->setShortMessage($record->message) ->setShortMessage($record->message)
->setTimestamp($record->datetime) ->setTimestamp($record->datetime)
; ;
@@ -103,7 +103,7 @@ class GelfHandlerTest extends TestCase
$expectedMessage = new Message(); $expectedMessage = new Message();
$expectedMessage $expectedMessage
->setLevel(4) ->setLevel(4)
->setFacility("test") ->setAdditional('facility', 'test')
->setHost("mysystem") ->setHost("mysystem")
->setShortMessage($record->message) ->setShortMessage($record->message)
->setTimestamp($record->datetime) ->setTimestamp($record->datetime)