vendor/doctrine/dbal/src/Logging/Connection.php line 43

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Doctrine\DBAL\Logging;
  4. use Doctrine\DBAL\Driver\Connection as ConnectionInterface;
  5. use Doctrine\DBAL\Driver\Middleware\AbstractConnectionMiddleware;
  6. use Doctrine\DBAL\Driver\Result;
  7. use Doctrine\DBAL\Driver\Statement as DriverStatement;
  8. use Psr\Log\LoggerInterface;
  9. final class Connection extends AbstractConnectionMiddleware
  10. {
  11.     private LoggerInterface $logger;
  12.     /** @internal This connection can be only instantiated by its driver. */
  13.     public function __construct(ConnectionInterface $connectionLoggerInterface $logger)
  14.     {
  15.         parent::__construct($connection);
  16.         $this->logger $logger;
  17.     }
  18.     public function __destruct()
  19.     {
  20.         $this->logger->info('Disconnecting');
  21.     }
  22.     public function prepare(string $sql): DriverStatement
  23.     {
  24.         return new Statement(
  25.             parent::prepare($sql),
  26.             $this->logger,
  27.             $sql,
  28.         );
  29.     }
  30.     public function query(string $sql): Result
  31.     {
  32.         $this->logger->debug('Executing query: {sql}', ['sql' => $sql]);
  33.         return parent::query($sql);
  34.     }
  35.     public function exec(string $sql): int
  36.     {
  37.         $this->logger->debug('Executing statement: {sql}', ['sql' => $sql]);
  38.         return parent::exec($sql);
  39.     }
  40.     /**
  41.      * {@inheritDoc}
  42.      */
  43.     public function beginTransaction()
  44.     {
  45.         $this->logger->debug('Beginning transaction');
  46.         return parent::beginTransaction();
  47.     }
  48.     /**
  49.      * {@inheritDoc}
  50.      */
  51.     public function commit()
  52.     {
  53.         $this->logger->debug('Committing transaction');
  54.         return parent::commit();
  55.     }
  56.     /**
  57.      * {@inheritDoc}
  58.      */
  59.     public function rollBack()
  60.     {
  61.         $this->logger->debug('Rolling back transaction');
  62.         return parent::rollBack();
  63.     }
  64. }