From b23cfd3d6ce0b6c050dda723040b83a1a6d7637e Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 14 Nov 2012 16:46:10 +0100 Subject: [PATCH] Throw an exception on invalid level name --- src/Monolog/Logger.php | 4 ++++ tests/Monolog/LoggerTest.php | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) 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 */