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

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 = MonologLogger::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(Level|LevelName|\Psr\Log\LogLevel::* $level) : self
Parameters
$level : Level|LevelName|\Psr\Log\LogLevel::*

Level or level name

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