diff --git a/src/Monolog/Logger.php b/src/Monolog/Logger.php index 412c506f..d317e016 100644 --- a/src/Monolog/Logger.php +++ b/src/Monolog/Logger.php @@ -322,6 +322,10 @@ class Logger */ public static function getLevelName($level) { + if (!isset(static::$levels[$level])) { + throw new \InvalidArgumentException('Level "'.$level.'" is not defined, use one of: '.implode(', ', array_keys(static::$levels))); + } + return static::$levels[$level]; } diff --git a/tests/Monolog/LoggerTest.php b/tests/Monolog/LoggerTest.php index ece04bd5..86e267ad 100644 --- a/tests/Monolog/LoggerTest.php +++ b/tests/Monolog/LoggerTest.php @@ -25,6 +25,23 @@ class LoggerTest extends \PHPUnit_Framework_TestCase $this->assertEquals('foo', $logger->getName()); } + /** + * @covers Monolog\Logger::getLevelName + */ + public function testGetLevelName() + { + $this->assertEquals('ERROR', Logger::getLevelName(Logger::ERROR)); + } + + /** + * @covers Monolog\Logger::getLevelName + * @expectedException InvalidArgumentException + */ + public function testGetLevelNameThrows() + { + Logger::getLevelName(5); + } + /** * @covers Monolog\Logger::__construct */