|
2 | 2 |
|
3 | 3 | namespace Cosmastech\LaravelStatsDAdapter\Tests; |
4 | 4 |
|
| 5 | +use Cosmastech\PsrLoggerSpy\LogFactory; |
| 6 | +use Cosmastech\PsrLoggerSpy\LoggerSpy; |
5 | 7 | use Cosmastech\StatsDClientAdapter\Adapters\Datadog\DatadogStatsDClientAdapter; |
6 | 8 | use Cosmastech\StatsDClientAdapter\Adapters\InMemory\InMemoryClientAdapter; |
7 | 9 | use Cosmastech\StatsDClientAdapter\Adapters\League\LeagueStatsDClientAdapter; |
8 | 10 | use Cosmastech\StatsDClientAdapter\Clients\Datadog\DatadogLoggingClient; |
9 | 11 | use Illuminate\Support\Facades\Config; |
| 12 | +use Illuminate\Support\Facades\Log; |
10 | 13 | use League\StatsD\StatsDClient; |
11 | 14 | use PHPUnit\Framework\Attributes\Test; |
12 | 15 |
|
@@ -74,6 +77,31 @@ public function instance_logDatadog_returnsConfiguredDatadogClient(): void |
74 | 77 | self::assertInstanceOf(DatadogLoggingClient::class, $datadogClientAdapter->getClient()); |
75 | 78 | } |
76 | 79 |
|
| 80 | + #[Test] |
| 81 | + public function instance_logDatadog_logsToSpecifiedChannel(): void |
| 82 | + { |
| 83 | + // Given |
| 84 | + $loggerSpy = new class (new LogFactory()) extends LoggerSpy { |
| 85 | + public function pushProcessor(): void |
| 86 | + { |
| 87 | + // This will no longer be necessary if/when this PR is merged into laravel/framework https://github.com/laravel/framework/pull/52117/files |
| 88 | + } |
| 89 | + }; |
| 90 | + Log::extend("spy", fn () => $loggerSpy); |
| 91 | + Config::set('statsd-adapter.channels.log_datadog.log_channel', "spy"); |
| 92 | + Config::set('logging.channels.spy', ["driver" => "spy"]); |
| 93 | + |
| 94 | + // And |
| 95 | + $datadogLoggingClientAdapter = $this->createAdapterManager()->instance("log_datadog"); |
| 96 | + |
| 97 | + // When |
| 98 | + $datadogLoggingClientAdapter->increment("testing-counter"); |
| 99 | + |
| 100 | + // Then |
| 101 | + self::assertCount(1, $logs = $loggerSpy->getLogs()); |
| 102 | + self::assertEquals("testing-counter:1|c", $logs[0]->message); |
| 103 | + } |
| 104 | + |
77 | 105 | public function instance_league_returnsConfiguredLeagueStatsDClient(): void |
78 | 106 | { |
79 | 107 | // Given |
|
0 commit comments