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  = '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

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