shipcloud PHP Client

ChromePHPHandler extends AbstractProcessingHandler
in package

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

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  : mixed
$formatter  : FormatterInterface
$initialized  : mixed
$json  : mixed
$level  : mixed
$overflowed  : bool
Tracks whether we sent too much data
$processors  : mixed
$sendHeaders  : mixed
__construct()  : mixed
__destruct()  : mixed
__get()  : mixed
BC getter for the sendHeaders property that has been made static
__set()  : mixed
BC setter for the sendHeaders property that has been made static
close()  : mixed
Closes the handler.
getBubble()  : bool
Gets the bubbling behavior.
getFormatter()  : FormatterInterface
Gets the formatter.
getLevel()  : int
Gets minimum logging level at which this handler will be triggered.
handle()  : mixed
{@inheritdoc}
handleBatch()  : mixed
{@inheritdoc}
isHandling()  : bool
Checks whether the given record will be handled by this handler.
popProcessor()  : callable
Removes the processor on top of the stack and returns it.
pushProcessor()  : self
Adds a processor in the stack.
reset()  : mixed
setBubble()  : self
Sets the bubbling behavior.
setFormatter()  : self
Sets the formatter.
setLevel()  : self
Sets minimum logging level at which this handler will be triggered.
getDefaultFormatter()  : mixed
{@inheritDoc}
headersAccepted()  : bool
Verifies if the headers are accepted by the current user agent
processRecord()  : array<string|int, mixed>
Processes a record.
send()  : mixed
Sends the log header
sendHeader()  : mixed
Send header string to the client
write()  : void
Creates & sends header for a record

Constants

HEADER_NAME

Header name

public mixed HEADER_NAME = 'X-ChromeLogger-Data'

USER_AGENT_REGEX

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

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

Properties

$json

protected static mixed $json = array('version' => self::VERSION, 'columns' => array('label', 'log', 'backtrace', 'type'), 'rows' => array())

$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

Methods

__construct()

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

Return values
mixed —

__get()

BC getter for the sendHeaders property that has been made static

public __get(mixed $property) : mixed
Parameters
$property : mixed
Return values
mixed —

__set()

BC setter for the sendHeaders property that has been made static

public __set(mixed $property, mixed $value) : mixed
Parameters
$property : mixed
$value : mixed
Return values
mixed —

close()

Closes the handler.

public close() : mixed

This will be called automatically when the object is destroyed

Return values
mixed —

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
Return values
int —

handle()

{@inheritdoc}

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

handleBatch()

{@inheritdoc}

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

isHandling()

Checks whether the given record will be handled by this handler.

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

Partial log record containing only a level key

Return values
bool —

popProcessor()

Removes the processor on top of the stack and returns it.

public popProcessor() : callable
Return values
callable —

pushProcessor()

Adds a processor in the stack.

public pushProcessor(mixed $callback) : self
Parameters
$callback : mixed
Return values
self —

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(int|string $level) : self
Parameters
$level : int|string

Level or level name

Return values
self —

getDefaultFormatter()

{@inheritDoc}

protected getDefaultFormatter() : mixed
Return values
mixed —

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>
Return values
array<string|int, mixed> —

send()

Sends the log header

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

sendHeader()

Send header string to the client

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

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