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
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}'
VERSION
Version of the extension
protected
mixed
VERSION
= '4.0'
Properties
$bubble
protected
bool
$bubble
= true
$formatter
protected
FormatterInterface|null
$formatter
$initialized
protected
static bool
$initialized
= false
$json
protected
static array<string|int, mixed>
$json
= ['version' => self::VERSION, 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => []]
$level
protected
int
$level
= MonologLogger::DEBUG
Tags
$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
$sendHeaders
protected
static bool
$sendHeaders
= true
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.
getFormatter()
{@inheritDoc}
public
getFormatter() : FormatterInterface
Return values
FormatterInterface —getLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : int
Tags
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 —popProcessor()
{@inheritDoc}
public
popProcessor() : callable
Return values
callable —pushProcessor()
{@inheritDoc}
public
pushProcessor(callable $callback) : HandlerInterface
Parameters
- $callback : callable
Return values
HandlerInterface —reset()
public
reset() : void
Return values
void —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 —setFormatter()
{@inheritDoc}
public
setFormatter(FormatterInterface $formatter) : HandlerInterface
Parameters
- $formatter : FormatterInterface
Return values
HandlerInterface —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 —getDefaultFormatter()
{@inheritDoc}
protected
getDefaultFormatter() : FormatterInterface
Return values
FormatterInterface —headersAccepted()
Verifies if the headers are accepted by the current user agent
protected
headersAccepted() : bool
Return values
bool —isWebRequest()
Checks if PHP's serving a web request
protected
isWebRequest() : 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
Return values
array<string|int, mixed> —resetProcessors()
protected
resetProcessors() : void
Return values
void —send()
Sends the log header
protected
send() : void
Tags
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>