Documentation

ChromePHPHandler extends AbstractProcessingHandler
in package
uses WebRequestRecognizerTrait

Handler sending logs to the ChromePHP extension (http://www.chromephp.com/)

This also works out of the box with Firefox 43+

Tags
author

Christophe Coevoet stof@notk.org

Table of Contents

Constants

HEADER_NAME  : mixed = 'X-ChromeLogger-Data'
Header name
USER_AGENT_REGEX  : mixed = '{\b(?:Chrome/\d+(?:\.\d+)*|HeadlessChrome|Fire...
Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
VERSION  : mixed = '4.0'
Version of the extension

Properties

$bubble  : bool
$formatter  : FormatterInterface|null
$initialized  : bool
$json  : array<string|int, mixed>
$level  : Level
$overflowed  : bool
Tracks whether we sent too much data
$processors  : array<string|int, callable>
$sendHeaders  : bool

Methods

__construct()  : mixed
__destruct()  : mixed
__sleep()  : mixed
close()  : void
Closes the handler.
getBubble()  : bool
Gets the bubbling behavior.
getFormatter()  : FormatterInterface
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
setLevel()  : $this
Sets minimum logging level at which this handler will be triggered.
getDefaultFormatter()  : FormatterInterface
headersAccepted()  : bool
Verifies if the headers are accepted by the current user agent
isWebRequest()  : bool
Checks if PHP's serving a web request
processRecord()  : LogRecord
resetProcessors()  : void
send()  : void
Sends the log header
sendHeader()  : void
Send header string to the client
write()  : void
Creates & sends header for a record

Constants

HEADER_NAME

Header name

protected mixed HEADER_NAME = 'X-ChromeLogger-Data'

USER_AGENT_REGEX

Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)

protected mixed USER_AGENT_REGEX = '{\b(?:Chrome/\d+(?:\.\d+)*|HeadlessChrome|Firefox/(?:4[3-9]|[5-9]\d|\d{3,})(?:\.\d)*)\b}'

Properties

$json

protected static array<string|int, mixed> $json = ['version' => self::VERSION, 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => []]

$overflowed

Tracks whether we sent too much data

protected static bool $overflowed = false

Chrome limits the headers to 4KB, so when we sent 3KB we stop sending

$processors

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

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

Methods

__construct()

public __construct([int|string|Level $level = Level::Debug ][, bool $bubble = true ]) : mixed
Parameters
$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

Tags
throws
RuntimeException

If the function json_encode does not exist

__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
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

headersAccepted()

Verifies if the headers are accepted by the current user agent

protected headersAccepted() : bool
Return values
bool

send()

Sends the log header

protected send() : void
Tags
see
sendHeader()

sendHeader()

Send header string to the client

protected sendHeader(string $header, string $content) : void
Parameters
$header : string
$content : string
On this page

Search results