Вход Регистрация
Файл: vendor/doctrine/dbal/src/Logging/Driver.php
Строк: 53
<?php

declare(strict_types=1);

namespace 
DoctrineDBALLogging;

use 
DoctrineDBALDriver as DriverInterface;
use 
DoctrineDBALDriverMiddlewareAbstractDriverMiddleware;
use 
PsrLogLoggerInterface;
use 
SensitiveParameter;

final class 
Driver extends AbstractDriverMiddleware
{
    private 
LoggerInterface $logger;

    
/** @internal This driver can be only instantiated by its middleware. */
    
public function __construct(DriverInterface $driverLoggerInterface $logger)
    {
        
parent::__construct($driver);

        
$this->logger $logger;
    }

    
/**
     * {@inheritDoc}
     */
    
public function connect(
        
#[SensitiveParameter]
        
array $params
    
) {
        
$this->logger->info('Connecting with parameters {params}', ['params' => $this->maskPassword($params)]);

        return new 
Connection(
            
parent::connect($params),
            
$this->logger,
        );
    }

    
/**
     * @param array<string,mixed> $params Connection parameters
     *
     * @return array<string,mixed>
     */
    
private function maskPassword(
        
#[SensitiveParameter]
        
array $params
    
): array {
        if (isset(
$params['password'])) {
            
$params['password'] = '<redacted>';
        }

        if (isset(
$params['url'])) {
            
$params['url'] = '<redacted>';
        }

        return 
$params;
    }
}
Онлайн: 3
Реклама