From bf6655a534a6775d30cafa67bd801276bda1d98d Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 13 Aug 2024 23:45:21 +0200 Subject: =?UTF-8?q?VERSION=200.2=20doctrine=20ORM=20et=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vendor/doctrine/dbal/src/Logging/Connection.php | 69 +++++++++++++++++++++++++ vendor/doctrine/dbal/src/Logging/Driver.php | 50 ++++++++++++++++++ vendor/doctrine/dbal/src/Logging/Middleware.php | 21 ++++++++ vendor/doctrine/dbal/src/Logging/Statement.php | 48 +++++++++++++++++ 4 files changed, 188 insertions(+) create mode 100644 vendor/doctrine/dbal/src/Logging/Connection.php create mode 100644 vendor/doctrine/dbal/src/Logging/Driver.php create mode 100644 vendor/doctrine/dbal/src/Logging/Middleware.php create mode 100644 vendor/doctrine/dbal/src/Logging/Statement.php (limited to 'vendor/doctrine/dbal/src/Logging') diff --git a/vendor/doctrine/dbal/src/Logging/Connection.php b/vendor/doctrine/dbal/src/Logging/Connection.php new file mode 100644 index 0000000..9c220de --- /dev/null +++ b/vendor/doctrine/dbal/src/Logging/Connection.php @@ -0,0 +1,69 @@ +logger->info('Disconnecting'); + } + + public function prepare(string $sql): DriverStatement + { + return new Statement( + parent::prepare($sql), + $this->logger, + $sql, + ); + } + + public function query(string $sql): Result + { + $this->logger->debug('Executing query: {sql}', ['sql' => $sql]); + + return parent::query($sql); + } + + public function exec(string $sql): int|string + { + $this->logger->debug('Executing statement: {sql}', ['sql' => $sql]); + + return parent::exec($sql); + } + + public function beginTransaction(): void + { + $this->logger->debug('Beginning transaction'); + + parent::beginTransaction(); + } + + public function commit(): void + { + $this->logger->debug('Committing transaction'); + + parent::commit(); + } + + public function rollBack(): void + { + $this->logger->debug('Rolling back transaction'); + + parent::rollBack(); + } +} diff --git a/vendor/doctrine/dbal/src/Logging/Driver.php b/vendor/doctrine/dbal/src/Logging/Driver.php new file mode 100644 index 0000000..35acd39 --- /dev/null +++ b/vendor/doctrine/dbal/src/Logging/Driver.php @@ -0,0 +1,50 @@ +logger->info('Connecting with parameters {params}', ['params' => $this->maskPassword($params)]); + + return new Connection( + parent::connect($params), + $this->logger, + ); + } + + /** + * @param array $params Connection parameters + * + * @return array + */ + private function maskPassword( + #[SensitiveParameter] + array $params, + ): array { + if (isset($params['password'])) { + $params['password'] = ''; + } + + return $params; + } +} diff --git a/vendor/doctrine/dbal/src/Logging/Middleware.php b/vendor/doctrine/dbal/src/Logging/Middleware.php new file mode 100644 index 0000000..989e0ca --- /dev/null +++ b/vendor/doctrine/dbal/src/Logging/Middleware.php @@ -0,0 +1,21 @@ +logger); + } +} diff --git a/vendor/doctrine/dbal/src/Logging/Statement.php b/vendor/doctrine/dbal/src/Logging/Statement.php new file mode 100644 index 0000000..ed1ca7f --- /dev/null +++ b/vendor/doctrine/dbal/src/Logging/Statement.php @@ -0,0 +1,48 @@ +|array */ + private array $params = []; + + /** @var array|array */ + private array $types = []; + + /** @internal This statement can be only instantiated by its connection. */ + public function __construct( + StatementInterface $statement, + private readonly LoggerInterface $logger, + private readonly string $sql, + ) { + parent::__construct($statement); + } + + public function bindValue(int|string $param, mixed $value, ParameterType $type): void + { + $this->params[$param] = $value; + $this->types[$param] = $type; + + parent::bindValue($param, $value, $type); + } + + public function execute(): ResultInterface + { + $this->logger->debug('Executing statement: {sql} (parameters: {params}, types: {types})', [ + 'sql' => $this->sql, + 'params' => $this->params, + 'types' => $this->types, + ]); + + return parent::execute(); + } +} -- cgit v1.2.3