Completed
Pull Request — master (#3572)
by Gabriel
61:04
created

LoggerChain::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 0
cts 1
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace Doctrine\DBAL\Logging;
4
5
/**
6
 * Chains multiple SQLLogger.
7
 */
8
class LoggerChain implements SQLLogger
9
{
10
    /** @var iterable<SQLLogger> */
11
    private $loggers = [];
12
13
    /**
14
     * @param SQLLogger[] $loggers
15
     */
16
    public function __construct(iterable $loggers = [])
17
    {
18
        $this->loggers = $loggers;
19
    }
20
21
    /**
22
     * Adds a logger in the chain.
23
     *
24
     * @deprecated Inject list of loggers via constructor instead
25
     *
26
     * @return void
27
     */
28
    public function addLogger(SQLLogger $logger)
29
    {
30
        $this->loggers[] = $logger;
31
    }
32
33
    /**
34
     * {@inheritdoc}
35
     */
36
    public function startQuery($sql, ?array $params = null, ?array $types = null)
37
    {
38
        foreach ($this->loggers as $logger) {
39
            $logger->startQuery($sql, $params, $types);
40
        }
41
    }
42
43
    /**
44
     * {@inheritdoc}
45
     */
46
    public function stopQuery()
47
    {
48
        foreach ($this->loggers as $logger) {
49
            $logger->stopQuery();
50
        }
51
    }
52
}
53