Skip to content
This repository was archived by the owner on Jul 7, 2025. It is now read-only.

Commit 6c62706

Browse files
authored
Merge pull request #8 from myLocalInfluence/bug/fix-wrong-logger-type#6
fix: Fix Wrong Logger Type
2 parents 4ad3401 + 9d9a55d commit 6c62706

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/DataDogFormatter.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace Myli\DatadogLogger;
44

5+
use Illuminate\Log\Logger;
56
use Monolog\Formatter\JsonFormatter;
6-
use Monolog\Logger;
77

88
/**
99
* Class DataDogFormatter
@@ -25,6 +25,10 @@ class DataDogFormatter extends JsonFormatter
2525
*/
2626
public function __invoke(Logger $logger)
2727
{
28+
/**
29+
* @var \Monolog\Logger $logger We can assume it's a monolog logger since
30+
* Laravel's Logger has _call function calling the logger directly
31+
*/
2832
foreach ($logger->getHandlers() as $handler) {
2933
$handler->setFormatter($this);
3034
}

tests/DataDogFormatterTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ public function testInvoke()
4949
$loggerMock = $this->createMock(Logger::class);
5050
$streamHandler = new StreamHandler('foourl');
5151
$loggerMock->method('getHandlers')->willReturn([$streamHandler]);
52+
$laravelLogger = new \Illuminate\Log\Logger($loggerMock);
5253
$dataDogFormatter = new \Myli\DatadogLogger\DataDogFormatter();
53-
$dataDogFormatter->__invoke($loggerMock);
54+
$dataDogFormatter->__invoke($laravelLogger);
5455
self::assertEquals(DataDogFormatter::class, get_class($streamHandler->getFormatter()));
5556
}
5657

0 commit comments

Comments
 (0)