<?php

declare(strict_types=1);

namespace Autogedal\Extend\Logger;

use Psr\Log\AbstractLogger;
use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;
use Stringable;

class ConsumersRunnerLogger extends AbstractLogger
{
    private const UNCONFIGURED_FIREBEAR_AMQP_CONSUMER_MESSAGE =
        'Consumer "import_export.import_amqp" skipped as required connection "amqp" is not configured. '
        . 'Unknown connection name amqp';

    public function __construct(
        private readonly LoggerInterface $logger
    ) {
    }

    public function log($level, string|Stringable $message, array $context = []): void
    {
        if ($level === LogLevel::INFO && (string) $message === self::UNCONFIGURED_FIREBEAR_AMQP_CONSUMER_MESSAGE) {
            return;
        }

        $this->logger->log($level, $message, $context);
    }
}
