LogmaticFormatter
extends JsonFormatter
in package
Encodes message information into JSON in a format compatible with Logmatic.
Tags
Table of Contents
- BATCH_MODE_JSON = 1
- BATCH_MODE_NEWLINES = 2
- SIMPLE_DATE = "Y-m-d\TH:i:sP"
- MARKERS = ["sourcecode", "php"]
- $appendNewline : bool
- $appname : string
- $batchMode : self::BATCH_MODE_*
- $dateFormat : string
- $hostname : string
- $ignoreEmptyContextAndExtra : bool
- $includeStacktraces : bool
- $maxNormalizeDepth : int
- $maxNormalizeItemCount : int
- $jsonEncodeOptions : int
- __construct() : mixed
- addJsonEncodeOption() : self
- format() : mixed
- Appends the 'hostname' and 'appname' parameter for indexing by Logmatic.
- formatBatch() : mixed
- Formats a set of log records.
- getBatchMode() : int
- The batch mode option configures the formatting style for multiple records. By default, multiple records will be formatted as a JSON-encoded array. However, for compatibility with some API endpoints, alternative styles are available.
- getDateFormat() : string
- getMaxNormalizeDepth() : int
- The maximum number of normalization levels to go through
- getMaxNormalizeItemCount() : int
- The maximum number of items to normalize per level
- includeStacktraces() : self
- isAppendingNewlines() : bool
- True if newlines are appended to every formatted record
- removeJsonEncodeOption() : self
- setAppname() : self
- setDateFormat() : self
- setHostname() : self
- setJsonPrettyPrint() : self
- Enables `json_encode` pretty print.
- setMaxNormalizeDepth() : self
- setMaxNormalizeItemCount() : self
- formatBatchJson() : string
- Return a JSON-encoded array of records.
- formatBatchNewlines() : string
- Use new lines to separate records instead of a JSON-encoded array.
- 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
BATCH_MODE_JSON
public
mixed
BATCH_MODE_JSON
= 1
BATCH_MODE_NEWLINES
public
mixed
BATCH_MODE_NEWLINES
= 2
SIMPLE_DATE
public
mixed
SIMPLE_DATE
= "Y-m-d\TH:i:sP"
MARKERS
protected
mixed
MARKERS
= ["sourcecode", "php"]
Properties
$appendNewline
protected
bool
$appendNewline
$appname
protected
string
$appname
= ''
$batchMode
protected
self::BATCH_MODE_*
$batchMode
$dateFormat
protected
string
$dateFormat
$hostname
protected
string
$hostname
= ''
$ignoreEmptyContextAndExtra
protected
bool
$ignoreEmptyContextAndExtra
$includeStacktraces
protected
bool
$includeStacktraces
= false
$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()
Appends the 'hostname' and 'appname' parameter for indexing by Logmatic.
public
format(array<string|int, mixed> $record) : mixed
Parameters
- $record : array<string|int, mixed>
Tags
Return values
mixed —The formatted record
formatBatch()
Formats a set of log records.
public
formatBatch(array<string|int, mixed> $records) : mixed
Parameters
- $records : array<string|int, mixed>
-
A set of records to format
Return values
mixed —The formatted set of records
getBatchMode()
The batch mode option configures the formatting style for multiple records. By default, multiple records will be formatted as a JSON-encoded array. However, for compatibility with some API endpoints, alternative styles are available.
public
getBatchMode() : int
Return values
int —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 —includeStacktraces()
public
includeStacktraces([bool $include = true ]) : self
Parameters
- $include : bool = true
Return values
self —isAppendingNewlines()
True if newlines are appended to every formatted record
public
isAppendingNewlines() : bool
Return values
bool —removeJsonEncodeOption()
public
removeJsonEncodeOption(int $option) : self
Parameters
- $option : int
Return values
self —setAppname()
public
setAppname(string $appname) : self
Parameters
- $appname : string
Return values
self —setDateFormat()
public
setDateFormat(string $dateFormat) : self
Parameters
- $dateFormat : string
Return values
self —setHostname()
public
setHostname(string $hostname) : self
Parameters
- $hostname : 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 —formatBatchJson()
Return a JSON-encoded array of records.
protected
formatBatchJson(array<string|int, mixed> $records) : string
Parameters
- $records : array<string|int, mixed>
Tags
Return values
string —formatBatchNewlines()
Use new lines to separate records instead of a JSON-encoded array.
protected
formatBatchNewlines(array<string|int, mixed> $records) : string
Parameters
- $records : array<string|int, mixed>
Tags
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