1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-01 19:00:20 +02:00

Add isHandling, fixes #53

This commit is contained in:
Jordi Boggiano
2012-01-28 14:43:55 +01:00
parent 8e11234066
commit 355123d607
3 changed files with 60 additions and 0 deletions

View File

@@ -1,3 +1,10 @@
* 1.0.3 (2012--)
Changes:
* Added Monolog\Logger::isHandling() to check if a handler will
handle the given log level
* 1.0.2 (2011-10-24)
Changes:

View File

@@ -278,6 +278,33 @@ class Logger
return self::$levels[$level];
}
/**
* Checks whether the Logger as a handler that listens on the given level
*
* @param integer $level
* @return Boolean
*/
public function isHandling($level)
{
$record = array(
'message' => '',
'context' => array(),
'level' => $level,
'level_name' => self::getLevelName($level),
'channel' => $this->name,
'datetime' => new \DateTime(),
'extra' => array(),
);
foreach ($this->handlers as $key => $handler) {
if ($handler->isHandling($record)) {
return true;
}
}
return false;
}
// ZF Logger Compat
/**

View File

@@ -289,6 +289,32 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
$logger->debug('test');
}
/**
* @covers Monolog\Logger::isHandling
*/
public function testIsHandling()
{
$logger = new Logger(__METHOD__);
$handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
$handler1->expects($this->any())
->method('isHandling')
->will($this->returnValue(false))
;
$logger->pushHandler($handler1);
$this->assertFalse($logger->isHandling(Logger::DEBUG));
$handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
$handler2->expects($this->any())
->method('isHandling')
->will($this->returnValue(true))
;
$logger->pushHandler($handler2);
$this->assertTrue($logger->isHandling(Logger::DEBUG));
}
/**
* @dataProvider logMethodProvider
* @covers Monolog\Logger::addDebug