BufferHandler
extends AbstractHandler
in package
implements
ProcessableHandlerInterface, FormattableHandlerInterface
uses
ProcessableHandlerTrait
Buffers all records until closing the handler and then pass them as batch.
This is useful for a MailHandler to send only one mail per request instead of sending one per log message.
Tags
Table of Contents
Interfaces
- ProcessableHandlerInterface
- Interface to describe loggers that have processors
- FormattableHandlerInterface
- Interface to describe loggers that have a formatter
Properties
- $bubble : bool
- $buffer : array<string|int, LogRecord>
- $bufferLimit : int
- $bufferSize : int
- $flushOnOverflow : bool
- $handler : HandlerInterface
- $initialized : bool
- $level : Level
- $processors : array<string|int, callable>
Methods
- __construct() : mixed
- __destruct() : mixed
- __sleep() : mixed
- clear() : void
- Clears the buffer without flushing any messages down to the wrapped handler.
- close() : void
- Closes the handler.
- flush() : void
- getBubble() : bool
- Gets the bubbling behavior.
- getFormatter() : FormatterInterface
- Gets the formatter.
- getLevel() : Level
- 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
- Checks whether the given record will be handled by this handler.
- popProcessor() : callable
- pushProcessor() : HandlerInterface
- reset() : void
- setBubble() : $this
- Sets the bubbling behavior.
- setFormatter() : HandlerInterface
- Sets the formatter.
- setLevel() : $this
- Sets minimum logging level at which this handler will be triggered.
- processRecord() : LogRecord
- resetProcessors() : void
Properties
$bubble
protected
bool
$bubble
= true
$buffer
protected
array<string|int, LogRecord>
$buffer
= []
$bufferLimit
protected
int
$bufferLimit
$bufferSize
protected
int
$bufferSize
= 0
$flushOnOverflow
protected
bool
$flushOnOverflow
$handler
protected
HandlerInterface
$handler
$initialized
protected
bool
$initialized
= false
$level
protected
Level
$level
= \Monolog\Level::Debug
$processors
protected
array<string|int, callable>
$processors
= []
Tags
Methods
__construct()
public
__construct(HandlerInterface $handler[, int $bufferLimit = 0 ][, int|string|Level $level = Level::Debug ][, bool $bubble = true ][, bool $flushOnOverflow = false ]) : mixed
Parameters
- $handler : HandlerInterface
-
Handler.
- $bufferLimit : int = 0
-
How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
- $level : int|string|Level = Level::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
- $flushOnOverflow : bool = false
-
If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded
__destruct()
public
__destruct() : mixed
__sleep()
public
__sleep() : mixed
clear()
Clears the buffer without flushing any messages down to the wrapped handler.
public
clear() : void
close()
Closes the handler.
public
close() : void
Tags
flush()
public
flush() : 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
Tags
Return values
FormatterInterfacegetLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : Level
Return values
Levelhandle()
Handles a record.
public
handle(LogRecord $record) : bool
Parameters
- $record : LogRecord
-
The record to handle
Tags
Return values
bool —true means that this handler handled the record, and that bubbling is not permitted. false means the record was either not processed or that this handler allows bubbling.
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
Tags
isHandling()
Checks whether the given record will be handled by this handler.
public
isHandling(LogRecord $record) : bool
Parameters
- $record : LogRecord
-
Partial log record having only a level initialized
Tags
Return values
boolpopProcessor()
public
popProcessor() : callable
Tags
Return values
callablepushProcessor()
public
pushProcessor(callable $callback) : HandlerInterface
Parameters
- $callback : callable
Tags
Return values
HandlerInterfacereset()
public
reset() : void
setBubble()
Sets the bubbling behavior.
public
setBubble(bool $bubble) : $this
Parameters
- $bubble : bool
-
true means that this handler allows bubbling. false means that bubbling is not permitted.
Return values
$thissetFormatter()
Sets the formatter.
public
setFormatter(FormatterInterface $formatter) : HandlerInterface
Parameters
- $formatter : FormatterInterface
Tags
Return values
HandlerInterface —self
setLevel()
Sets minimum logging level at which this handler will be triggered.
public
setLevel(Level|LogLevel::* $level) : $this
Parameters
- $level : Level|LogLevel::*
-
Level or level name
Tags
Return values
$thisprocessRecord()
protected
processRecord(LogRecord $record) : LogRecord
Parameters
- $record : LogRecord
Return values
LogRecordresetProcessors()
protected
resetProcessors() : void