Passed
Push — master ( f946ea...c739e9 )
by Daimona
02:07
created

MultiLogger   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A log() 0 3 2
A __construct() 0 2 1
1
<?php declare( strict_types=1 );
2
3
namespace BotRiconferme\Logger;
4
5
use Psr\Log\AbstractLogger;
6
use Psr\Log\LoggerInterface;
7
8
/**
9
 * Proxies calls to multiple loggers
10
 */
11
class MultiLogger extends AbstractLogger {
12
	/** @var LoggerInterface[] */
13
	private $loggers = [];
14
15
	/**
16
	 * @param LoggerInterface ...$loggers
17
	 */
18
	public function __construct( LoggerInterface ...$loggers ) {
19
		$this->loggers = $loggers;
20
	}
21
22
	/**
23
	 * @inheritDoc
24
	 * @suppress PhanUnusedPublicMethodParameter
25
	 */
26
	public function log( $level, $message, array $context = [] ) {
27
		foreach ( $this->loggers as $logger ) {
28
			$logger->log( $level, $message );
29
		}
30
	}
31
}
32