1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-06 13:16:39 +02:00

Merge pull request #868 from ComaVN/noop-handler

Added the NoopHandler.
This commit is contained in:
Jordi Boggiano
2016-11-13 20:40:29 +01:00
committed by GitHub
3 changed files with 93 additions and 0 deletions

View File

@@ -113,6 +113,8 @@
to the wrapped handler.
- [_SamplingHandler_](../src/Monolog/Handler/SamplingHandler.php): Wraps around another handler and lets you sample records
if you only want to store some of them.
- [_NoopHandler_](../src/Monolog/Handler/NoopHandler.php): This handler handles anything by doing nothing. It does not stop
processing the rest of the stack. This can be used for testing, or to disable a handler when overriding a configuration.
- [_NullHandler_](../src/Monolog/Handler/NullHandler.php): Any record it can handle will be thrown away. This can be used
to put on top of an existing handler stack to disable it temporarily.
- [_PsrHandler_](../src/Monolog/Handler/PsrHandler.php): Can be used to forward log records to an existing PSR-3 logger

View File

@@ -0,0 +1,42 @@
<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
*
* (c) Roel Harbers <roelharbers@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Handler;
use Monolog\Logger;
/**
* No-op
*
* This handler handles anything, but does nothing, and does not stop bubbling to the rest of the stack.
* This can be used for testing, or to disable a handler when overriding a configuration without
* influencing the rest of the stack.
*
* @author Roel Harbers <roelharbers@gmail.com>
*/
class NoopHandler extends Handler
{
/**
* {@inheritdoc}
*/
public function isHandling(array $record): bool
{
return true;
}
/**
* {@inheritdoc}
*/
public function handle(array $record): bool
{
return false;
}
}

View File

@@ -0,0 +1,49 @@
<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
*
* (c) Roel Harbers <roelharbers@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Handler;
use Monolog\Test\TestCase;
use Monolog\Logger;
/**
* @covers Monolog\Handler\NoopHandler::handle
*/
class NoopHandlerTest extends TestCase
{
/**
* @dataProvider logLevelsProvider
*/
public function testIsHandling($level)
{
$handler = new NoopHandler();
$this->assertTrue($handler->isHandling($this->getRecord($level)));
}
/**
* @dataProvider logLevelsProvider
*/
public function testHandle($level)
{
$handler = new NoopHandler();
$this->assertFalse($handler->handle($this->getRecord($level)));
}
public function logLevelsProvider()
{
return array_map(
function ($level) {
return [$level];
},
array_values(Logger::getLevels())
);
}
}