/** * @test * @depends listLevelsTest */ public function getLevelNameTest() { $list = Level::listLevels(); foreach ($list as $name => $level) { $this->assertEquals(Level::getLevelName($level), $name); } $this->assertEquals(Level::getLevelName('__FOO__'), null); }
/** * * @param int|string $level * @param string $message * @param array $context * @return self */ public function log($level, $message, array $context = array()) { // Converting Psr\LogLevel to int $level = Level::toLevel($level); // Level is unknown? Stop if (!Level::is($level)) { $this->emit('unknown', $level, $message); return $this; } // If $level is a mask, explode it! if (!BitMask::isSingleFlag($level)) { $me = __FUNCTION__; foreach (BitMask::maskToFlags($level) as $flag) { $this->{$me}($flag, $message, $context); } return $this; } else { if (!$this->handler->isHandled($level)) { $this->emit('unhandled', $level, $message); return $this; } } // Make log struct $log = ['level' => $level, 'name' => Level::getLevelName($level), 'message' => $message, 'context' => $context, 'timestamp' => \microtime(true), 'extra' => []]; // Iterate the filters foreach ($this->filters as &$filter) { $log = $filter($log); } $this->emit('log', $log); $this->emit(\strtolower($log['name']), $log); // Call handler $this->handler->handle($log); return $this; }