mediatekformation

LogmaticFormatter extends JsonFormatter
in package

Encodes message information into JSON in a format compatible with Logmatic.

Tags
author

Julien Breux julien.breux@gmail.com

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  : mixed
$dateFormat  : string
$hostname  : string
$ignoreEmptyContextAndExtra  : bool
$includeStacktraces  : bool
$maxNormalizeDepth  : int
$maxNormalizeItemCount  : int
$jsonEncodeOptions  : int
__construct()  : mixed
addJsonEncodeOption()  : void
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()  : void
isAppendingNewlines()  : bool
True if newlines are appended to every formatted record
removeJsonEncodeOption()  : void
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

Properties

$ignoreEmptyContextAndExtra

protected bool $ignoreEmptyContextAndExtra

$includeStacktraces

protected bool $includeStacktraces = false

$jsonEncodeOptions

private int $jsonEncodeOptions = \Monolog\Utils::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) : void
Parameters
$option : int
Return values
void —

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 —

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 ]) : void
Parameters
$include : bool = true
Return values
void —

isAppendingNewlines()

True if newlines are appended to every formatted record

public isAppendingNewlines() : bool
Return values
bool —

removeJsonEncodeOption()

public removeJsonEncodeOption(int $option) : void
Parameters
$option : int
Return values
void —

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
phpstan-param

Record[] $records

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
phpstan-param

Record[] $records

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
throws
RuntimeException

if encoding fails and errors are not ignored

Return values
string —

if encoding fails and ignoreErrors is true 'null' is returned

Search results