HtmlFormatter
extends NormalizerFormatter
in package
Formats incoming records into an HTML table
This is especially useful for html email logging
Tags
Table of Contents
- SIMPLE_DATE = "Y-m-d\TH:i:sP"
- $dateFormat : string
- $logLevels : array<int, string>
- Translates Monolog log levels to html color priorities.
- $maxNormalizeDepth : int
- $maxNormalizeItemCount : int
- $jsonEncodeOptions : int
- __construct() : mixed
- addJsonEncodeOption() : self
- format() : string
- Formats a log record.
- formatBatch() : string
- Formats a set of log records.
- getDateFormat() : string
- getMaxNormalizeDepth() : int
- The maximum number of normalization levels to go through
- getMaxNormalizeItemCount() : int
- The maximum number of items to normalize per level
- removeJsonEncodeOption() : self
- setDateFormat() : self
- setJsonPrettyPrint() : self
- Enables `json_encode` pretty print.
- setMaxNormalizeDepth() : self
- setMaxNormalizeItemCount() : self
- addRow() : string
- Creates an HTML table row
- addTitle() : string
- Create a HTML h1 tag
- convertToString() : string
- formatDate() : string
- normalize() : null|scalar|array<string|int, array|scalar|null>
- normalizeException() : array<string|int, mixed>
- toJson() : string
- Return the JSON representation of a value
Constants
SIMPLE_DATE
public
mixed
SIMPLE_DATE
= "Y-m-d\TH:i:sP"
Properties
$dateFormat
protected
string
$dateFormat
$logLevels
Translates Monolog log levels to html color priorities.
protected
array<int, string>
$logLevels
= [MonologLogger::DEBUG => '#CCCCCC', MonologLogger::INFO => '#28A745', MonologLogger::NOTICE => '#17A2B8', MonologLogger::WARNING => '#FFC107', MonologLogger::ERROR => '#FD7E14', MonologLogger::CRITICAL => '#DC3545', MonologLogger::ALERT => '#821722', MonologLogger::EMERGENCY => '#000000']
$maxNormalizeDepth
protected
int
$maxNormalizeDepth
= 9
$maxNormalizeItemCount
protected
int
$maxNormalizeItemCount
= 1000
$jsonEncodeOptions
private
int
$jsonEncodeOptions
= MonologUtils::DEFAULT_JSON_FLAGS
Methods
__construct()
public
__construct([string|null $dateFormat = null ]) : mixed
Parameters
- $dateFormat : string|null = null
-
The format of the timestamp: one supported by DateTime::format
Return values
mixed —addJsonEncodeOption()
public
addJsonEncodeOption(int $option) : self
Parameters
- $option : int
Return values
self —format()
Formats a log record.
public
format(array<string|int, mixed> $record) : string
Parameters
- $record : array<string|int, mixed>
Return values
string —The formatted record
formatBatch()
Formats a set of log records.
public
formatBatch(array<string|int, mixed> $records) : string
Parameters
- $records : array<string|int, mixed>
-
A set of records to format
Return values
string —The formatted set of records
getDateFormat()
public
getDateFormat() : string
Return values
string —getMaxNormalizeDepth()
The maximum number of normalization levels to go through
public
getMaxNormalizeDepth() : int
Return values
int —getMaxNormalizeItemCount()
The maximum number of items to normalize per level
public
getMaxNormalizeItemCount() : int
Return values
int —removeJsonEncodeOption()
public
removeJsonEncodeOption(int $option) : self
Parameters
- $option : int
Return values
self —setDateFormat()
public
setDateFormat(string $dateFormat) : self
Parameters
- $dateFormat : string
Return values
self —setJsonPrettyPrint()
Enables `json_encode` pretty print.
public
setJsonPrettyPrint(bool $enable) : self
Parameters
- $enable : bool
Return values
self —setMaxNormalizeDepth()
public
setMaxNormalizeDepth(int $maxNormalizeDepth) : self
Parameters
- $maxNormalizeDepth : int
Return values
self —setMaxNormalizeItemCount()
public
setMaxNormalizeItemCount(int $maxNormalizeItemCount) : self
Parameters
- $maxNormalizeItemCount : int
Return values
self —addRow()
Creates an HTML table row
protected
addRow(string $th[, string $td = ' ' ][, bool $escapeTd = true ]) : string
Parameters
- $th : string
-
Row header content
- $td : string = ' '
-
Row standard cell content
- $escapeTd : bool = true
-
false if td content must not be html escaped
Return values
string —addTitle()
Create a HTML h1 tag
protected
addTitle(string $title, int $level) : string
Parameters
- $title : string
-
Text to be in the h1
- $level : int
-
Error level
Return values
string —convertToString()
protected
convertToString(mixed $data) : string
Parameters
- $data : mixed
Return values
string —formatDate()
protected
formatDate(DateTimeInterface $date) : string
Parameters
- $date : DateTimeInterface
Return values
string —normalize()
protected
normalize(mixed $data, int $depth) : null|scalar|array<string|int, array|scalar|null>
Parameters
- $data : mixed
- $depth : int
Return values
null|scalar|array<string|int, array|scalar|null> —normalizeException()
protected
normalizeException(Throwable $e, int $depth) : array<string|int, mixed>
Parameters
- $e : Throwable
- $depth : int
Return values
array<string|int, mixed> —toJson()
Return the JSON representation of a value
protected
toJson(mixed $data[, bool $ignoreErrors = false ]) : string
Parameters
- $data : mixed
- $ignoreErrors : bool = false
Tags
Return values
string —if encoding fails and ignoreErrors is true 'null' is returned