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:
@@ -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:
|
||||
|
@@ -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
|
||||
|
||||
/**
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user