mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-08 14:16:42 +02:00
Added the NoopHandler.
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.
This commit is contained in:
@@ -113,6 +113,8 @@
|
|||||||
to the wrapped handler.
|
to the wrapped handler.
|
||||||
- [_SamplingHandler_](../src/Monolog/Handler/SamplingHandler.php): Wraps around another handler and lets you sample records
|
- [_SamplingHandler_](../src/Monolog/Handler/SamplingHandler.php): Wraps around another handler and lets you sample records
|
||||||
if you only want to store some of them.
|
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
|
- [_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.
|
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
|
- [_PsrHandler_](../src/Monolog/Handler/PsrHandler.php): Can be used to forward log records to an existing PSR-3 logger
|
||||||
|
42
src/Monolog/Handler/NoopHandler.php
Normal file
42
src/Monolog/Handler/NoopHandler.php
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
59
tests/Monolog/Handler/NoopHandlerTest.php
Normal file
59
tests/Monolog/Handler/NoopHandlerTest.php
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<?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)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isHandleProvider()
|
||||||
|
{
|
||||||
|
return array_map(
|
||||||
|
function ($level) {
|
||||||
|
return [$level];
|
||||||
|
},
|
||||||
|
array_values(Logger::getLevels())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user