| <?php |
|
|
| namespace Kanboard\Core\Log; |
|
|
| use Psr\Log\AbstractLogger; |
| use Psr\Log\LoggerAwareInterface; |
| use Psr\Log\LoggerInterface; |
| use Psr\Log\LogLevel; |
|
|
| |
| |
| |
| |
| |
| |
| class Logger extends AbstractLogger implements LoggerAwareInterface |
| { |
| |
| |
| |
| |
| |
| private $loggers = array(); |
|
|
| |
| |
| |
| |
| |
| |
| public function getLevelPriority($level) |
| { |
| switch ($level) { |
| case LogLevel::EMERGENCY: |
| return 600; |
| case LogLevel::ALERT: |
| return 550; |
| case LogLevel::CRITICAL: |
| return 500; |
| case LogLevel::ERROR: |
| return 400; |
| case LogLevel::WARNING: |
| return 300; |
| case LogLevel::NOTICE: |
| return 250; |
| case LogLevel::INFO: |
| return 200; |
| } |
|
|
| return 100; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function setLogger(LoggerInterface $logger) |
| { |
| $this->loggers[] = $logger; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function log($level, $message, array $context = array()) |
| { |
| foreach ($this->loggers as $logger) { |
| if ($this->getLevelPriority($level) >= $this->getLevelPriority($logger->getLevel())) { |
| $logger->log($level, $message, $context); |
| } |
| } |
| } |
|
|
| |
| |
| |
| |
| |
| public function dump($variable) |
| { |
| foreach ($this->loggers as $logger) { |
| if ($this->getLevelPriority(LogLevel::DEBUG) >= $this->getLevelPriority($logger->getLevel())) { |
| $logger->dump($variable); |
| } |
| } |
| } |
| } |
|
|