Documentation

SamplingHandler extends AbstractHandler
in package
implements ProcessableHandlerInterface, FormattableHandlerInterface uses ProcessableHandlerTrait

Sampling handler

A sampled event stream can be useful for logging high frequency events in a production environment where you only need an idea of what is happening and are not concerned with capturing every occurrence. Since the decision to handle or not handle a particular event is determined randomly, the resulting sampled log is not guaranteed to contain 1/N of the events that occurred in the application, but based on the Law of large numbers, it will tend to be close to this ratio with a large number of attempts.

Tags
author

Bryan Davis bd808@wikimedia.org

author

Kunal Mehta legoktm@gmail.com

Table of Contents

Interfaces

ProcessableHandlerInterface
Interface to describe loggers that have processors
FormattableHandlerInterface
Interface to describe loggers that have a formatter

Properties

$bubble  : bool
$factor  : int
$handler  : Closure|HandlerInterface
Handler or factory Closure($record, $this)
$level  : Level
$processors  : array<string|int, callable>

Methods

__construct()  : mixed
__destruct()  : mixed
__sleep()  : mixed
close()  : void
Closes the handler.
getBubble()  : bool
Gets the bubbling behavior.
getFormatter()  : FormatterInterface
Gets the formatter.
getHandler()  : HandlerInterface
Return the nested handler
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

$handler

Handler or factory Closure($record, $this)

protected Closure|HandlerInterface $handler
Tags
phpstan-var

(Closure(LogRecord|null, HandlerInterface): HandlerInterface)|HandlerInterface

$processors

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

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

Methods

__construct()

public __construct(Closure|HandlerInterface $handler, int $factor) : mixed
Parameters
$handler : Closure|HandlerInterface

Handler or factory Closure($record|null, $samplingHandler).

$factor : int

Sample factor (e.g. 10 means every ~10th record is sampled)

Tags
phpstan-param

(Closure(LogRecord|null, HandlerInterface): HandlerInterface)|HandlerInterface $handler

__destruct()

public __destruct() : mixed

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

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 : LogRecord

The record to handle

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

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