Documentation

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  : 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

Properties

$ignoreEmptyContextAndExtra

protected bool $ignoreEmptyContextAndExtra

$includeStacktraces

protected bool $includeStacktraces = false

$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

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 ]) : 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
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