OverflowHandler
extends AbstractHandler
in package
implements
FormattableHandlerInterface
Handler to only pass log messages when a certain threshold of number of messages is reached.
This can be useful in cases of processing a batch of data, but you're for example only interested in case it fails catastrophically instead of a warning for 1 or 2 events. Worse things can happen, right?
Usage example:
$log = new Logger('application');
$handler = new SomeHandler(...)
// Pass all warnings to the handler when more than 10 & all error messages when more then 5
$overflow = new OverflowHandler($handler, [Logger::WARNING => 10, Logger::ERROR => 5]);
$log->pushHandler($overflow);
Tags
Interfaces, Classes and Traits
- FormattableHandlerInterface
- Interface to describe loggers that have a formatter
Table of Contents
- $bubble : bool
- $level : int
- $buffer : array<string|int, array<string|int, mixed>>
- Buffer of all messages passed to the handler before the threshold was reached
- $handler : HandlerInterface
- $thresholdMap : array<string|int, int>
- __construct() : mixed
- __destruct() : mixed
- __sleep() : mixed
- close() : void
- Closes the handler.
- getBubble() : bool
- Gets the bubbling behavior.
- getFormatter() : FormatterInterface
- Gets the formatter.
- getLevel() : int
- Gets minimum logging level at which this handler will be triggered.
- handle() : bool
- Handles a record.
- handleBatch() : void
- Handles a set of records at once.
- isHandling() : bool
- {@inheritDoc}
- reset() : void
- setBubble() : self
- Sets the bubbling behavior.
- setFormatter() : HandlerInterface
- Sets the formatter.
- setLevel() : self
- Sets minimum logging level at which this handler will be triggered.
Properties
$bubble
protected
bool
$bubble
= true
$level
protected
int
$level
= MonologLogger::DEBUG
Tags
$buffer
Buffer of all messages passed to the handler before the threshold was reached
private
array<string|int, array<string|int, mixed>>
$buffer
= []
$handler
private
HandlerInterface
$handler
$thresholdMap
private
array<string|int, int>
$thresholdMap
= [MonologLogger::DEBUG => 0, MonologLogger::INFO => 0, MonologLogger::NOTICE => 0, MonologLogger::WARNING => 0, MonologLogger::ERROR => 0, MonologLogger::CRITICAL => 0, MonologLogger::ALERT => 0, MonologLogger::EMERGENCY => 0]
Methods
__construct()
public
__construct(HandlerInterface $handler[, array<string|int, int> $thresholdMap = [] ][, mixed $level = Logger::DEBUG ][, bool $bubble = true ]) : mixed
Parameters
- $handler : HandlerInterface
- $thresholdMap : array<string|int, int> = []
-
Dictionary of logger level => threshold
- $level : mixed = Logger::DEBUG
-
The minimum logging level at which this handler will be triggered
- $bubble : bool = true
-
Whether the messages that are handled can bubble up the stack or not
Return values
mixed —__destruct()
public
__destruct() : mixed
Return values
mixed —__sleep()
public
__sleep() : mixed
Return values
mixed —close()
Closes the handler.
public
close() : void
Return values
void —getBubble()
Gets the bubbling behavior.
public
getBubble() : bool
Return values
bool —true means that this handler allows bubbling. false means that bubbling is not permitted.
getFormatter()
Gets the formatter.
public
getFormatter() : FormatterInterface
Return values
FormatterInterface —getLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : int
Tags
Return values
int —handle()
Handles a record.
public
handle(array<string|int, mixed> $record) : bool
All records may be passed to this method, and the handler should discard those that it does not want to handle.
The return value of this function controls the bubbling process of the handler stack. Unless the bubbling is interrupted (by returning true), the Logger class will keep on calling further handlers in the stack with a given log record.
Parameters
- $record : array<string|int, mixed>
Return values
bool —handleBatch()
Handles a set of records at once.
public
handleBatch(array<string|int, mixed> $records) : void
Parameters
- $records : array<string|int, mixed>
-
The records to handle (an array of record arrays)
Return values
void —isHandling()
{@inheritDoc}
public
isHandling(array<string|int, mixed> $record) : bool
Parameters
- $record : array<string|int, mixed>
Return values
bool —reset()
public
reset() : void
Return values
void —setBubble()
Sets the bubbling behavior.
public
setBubble(bool $bubble) : self
Parameters
- $bubble : bool
-
true means that this handler allows bubbling. false means that bubbling is not permitted.
Return values
self —setFormatter()
Sets the formatter.
public
setFormatter(FormatterInterface $formatter) : HandlerInterface
Parameters
- $formatter : FormatterInterface
Return values
HandlerInterface —self
setLevel()
Sets minimum logging level at which this handler will be triggered.
public
setLevel(Level|LevelName|\Psr\Log\LogLevel::* $level) : self
Parameters
- $level : Level|LevelName|\Psr\Log\LogLevel::*
-
Level or level name