mediatekformation

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

phpstan-import-type

Record from \Monolog\Logger

Table of Contents

HEADER_NAME  = 'X-ChromeLogger-Data'
Header name
USER_AGENT_REGEX  = '{\\b(?:Chrome/\\d+(?:\\.\\d+)*|HeadlessChrome|Firefox/(?:4[3-9]|[5-9]\\d|\\d{3,})(?:\\.\\d)*)\\b}'
Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
VERSION  = '4.0'
Version of the extension
$bubble  : bool
$formatter  : FormatterInterface|null
$initialized  : bool
$json  : array<string|int, mixed>
$level  : int
$overflowed  : bool
Tracks whether we sent too much data
$processors  : array<string|int, callable>
$sendHeaders  : bool
__construct()  : mixed
__destruct()  : mixed
__sleep()  : mixed
close()  : void
Closes the handler.
getBubble()  : bool
Gets the bubbling behavior.
getFormatter()  : FormatterInterface
{@inheritDoc}
getLevel()  : int
Gets minimum logging level at which this handler will be triggered.
handle()  : bool
{@inheritDoc}
handleBatch()  : void
{@inheritDoc}
isHandling()  : bool
{@inheritDoc}
popProcessor()  : callable
{@inheritDoc}
pushProcessor()  : HandlerInterface
{@inheritDoc}
reset()  : void
setBubble()  : self
Sets the bubbling behavior.
setFormatter()  : HandlerInterface
{@inheritDoc}
setLevel()  : self
Sets minimum logging level at which this handler will be triggered.
getDefaultFormatter()  : FormatterInterface
{@inheritDoc}
headersAccepted()  : bool
Verifies if the headers are accepted by the current user agent
isWebRequest()  : bool
Checks if PHP's serving a web request
processRecord()  : array<string|int, mixed>
Processes a record.
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' => []]

$level

protected int $level = \Monolog\Logger::DEBUG
Tags
phpstan-var

Level

$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<ProcessorInterface|callable(Record): Record>

Methods

__construct()

public __construct([mixed $level = Logger::DEBUG ][, bool $bubble = true ]) : mixed
Parameters
$level : mixed = Logger::DEBUG
$bubble : bool = true
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.

getLevel()

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

public getLevel() : int
Tags
phpstan-return

Level

Return values
int —

handle()

{@inheritDoc}

public handle(array<string|int, mixed> $record) : bool
Parameters
$record : array<string|int, mixed>
Return values
bool —

handleBatch()

{@inheritDoc}

public handleBatch(array<string|int, mixed> $records) : void
Parameters
$records : array<string|int, mixed>
Return values
void —

isHandling()

{@inheritDoc}

public isHandling(array<string|int, mixed> $record) : bool
Parameters
$record : array<string|int, mixed>
Return values
bool —

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 —

setLevel()

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

public setLevel(mixed $level) : self
Parameters
$level : mixed
Return values
self —

headersAccepted()

Verifies if the headers are accepted by the current user agent

protected headersAccepted() : bool
Return values
bool —

processRecord()

Processes a record.

protected processRecord(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
$record : array<string|int, mixed>
Tags
phpstan-param

Record $record

phpstan-return

Record

Return values
array<string|int, mixed> —

send()

Sends the log header

protected send() : void
Tags
see
sendHeader()
Return values
void —

sendHeader()

Send header string to the client

protected sendHeader(string $header, string $content) : void
Parameters
$header : string
$content : string
Return values
void —

write()

Creates & sends header for a record

protected write(array<string|int, mixed> $record) : void
Parameters
$record : array<string|int, mixed>
Tags
see
sendHeader()
see
send()
Return values
void —

Search results