LoggerInterfaceQueryLogger   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 3
c 1
b 0
f 0
dl 0
loc 17
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A log() 0 2 1
A logError() 0 2 1
A __construct() 0 3 1
1
<?php
2
namespace Kir\MySQL\QueryLogger;
3
4
use Psr\Log\LoggerInterface;
5
use Throwable;
6
7
class LoggerInterfaceQueryLogger implements QueryLogger {
8
	public function __construct(
9
		private LoggerInterface $logger
10
	) {}
11
12
	/**
13
	 * @inheritDoc
14
	 */
15
	public function log(string $query, float $duration): void {
16
		$this->logger->info(sprintf("Query %s took %0.4f seconds", $query, $duration), ['query' => $query, 'duration' => $duration]);
17
	}
18
19
	/**
20
	 * @inheritDoc
21
	 */
22
	public function logError(string $query, Throwable $exception, float $duration): void {
23
		$this->logger->error(sprintf("Error'd query %s took %0.4f seconds", $query, $duration), ['query' => $query, 'duration' => $duration, 'exception' => $exception]);
24
	}
25
}
26