Documentation

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
author

Christophe Coevoet stof@notk.org

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

$processors

protected array<string|int, callable> $processors = []
Tags
phpstan-var

array<(callable(LogRecord): LogRecord)|ProcessorInterface>

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

clear()

Clears the buffer without flushing any messages down to the wrapped handler.

public clear() : void

close()

Closes the handler.

public close() : void
Tags
inheritDoc

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.

getLevel()

Gets minimum logging level at which this handler will be triggered.

public getLevel() : Level
Return values
Level

handle()

Handles a record.

public handle(LogRecord $record) : bool
Parameters
$record : LogRecord

The record to handle

Tags
inheritDoc
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
inheritDoc

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
inheritDoc
Return values
bool

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
$this

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
phpstan-param

value-ofLevel::VALUES|value-ofLevel::NAMES|Level|LogLevel::* $level

Return values
$this

        
On this page

Search results