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:
@@ -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
|
||||
|
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;
|
||||
}
|
||||
}
|
49
tests/Monolog/Handler/NoopHandlerTest.php
Normal file
49
tests/Monolog/Handler/NoopHandlerTest.php
Normal 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())
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user