1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-07-29 09:20:12 +02:00
Files
php-monolog/tests/Monolog/Formatter/GoogleCloudLoggingFormatterTest.php
Luís Cobucci e937256eee Fix date/time field for GCP logging (#1758)
We introduced the formatter using the incorrect field, which was making GCP not to extract the correct value from the payload.

This uses the field that actually maps to the expected format.

More info: https://cloud.google.com/logging/docs/structured-logging
2023-02-04 15:38:57 +01:00

55 lines
1.7 KiB
PHP

<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Formatter;
use DateTimeInterface;
use Monolog\Test\TestCase;
use function json_decode;
class GoogleCloudLoggingFormatterTest extends TestCase
{
/**
* @test
*
* @covers \Monolog\Formatter\JsonFormatter
* @covers \Monolog\Formatter\GoogleCloudLoggingFormatter::format
*/
public function formatProvidesRfc3339Timestamps(): void
{
$formatter = new GoogleCloudLoggingFormatter();
$record = $this->getRecord();
$formatted_decoded = json_decode($formatter->format($record), true);
$this->assertArrayNotHasKey("datetime", $formatted_decoded);
$this->assertArrayHasKey("time", $formatted_decoded);
$this->assertSame($record['datetime']->format(DateTimeInterface::RFC3339_EXTENDED), $formatted_decoded["time"]);
}
/**
* @test
*
* @covers \Monolog\Formatter\JsonFormatter
* @covers \Monolog\Formatter\GoogleCloudLoggingFormatter::format
*/
public function formatIntroducesLogSeverity(): void
{
$formatter = new GoogleCloudLoggingFormatter();
$record = $this->getRecord();
$formatted_decoded = json_decode($formatter->format($record), true);
$this->assertArrayNotHasKey("level", $formatted_decoded);
$this->assertArrayNotHasKey("level_name", $formatted_decoded);
$this->assertArrayHasKey("severity", $formatted_decoded);
$this->assertSame($record['level_name'], $formatted_decoded["severity"]);
}
}