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

Constants

BATCH_MODE_JSON  = 1
BATCH_MODE_NEWLINES  = 2
SIMPLE_DATE  = "Y-m-d\\TH:i:sP"
MARKERS  = ["sourcecode", "php"]

Properties

$appendNewline  : bool
$appName  : string
$basePath  : string
$batchMode  : self::BATCH_MODE_*
$dateFormat  : string
$hostname  : string
$ignoreEmptyContextAndExtra  : bool
$includeStacktraces  : bool
$maxNormalizeDepth  : int
$maxNormalizeItemCount  : int

Methods

__construct()  : mixed
addJsonEncodeOption()  : $this
format()  : mixed
Formats a log record.
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()  : $this
isAppendingNewlines()  : bool
True if newlines are appended to every formatted record
normalizeRecord()  : array<string|int, array<string|int, mixed>|scalar|null>
Appends the 'hostname' and 'appname' parameter for indexing by Logmatic.
normalizeValue()  : null|scalar|array<string|int, array<string|int, mixed>|scalar|null>
Normalize an arbitrary value to a scalar|array|null
removeJsonEncodeOption()  : $this
setAppName()  : $this
setBasePath()  : $this
Setting a base path will hide the base path from exception and stack trace file names to shorten them
setDateFormat()  : $this
setHostname()  : $this
setJsonPrettyPrint()  : $this
Enables `json_encode` pretty print.
setMaxNormalizeDepth()  : $this
setMaxNormalizeItemCount()  : $this
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<string|int, mixed>|scalar|null|object>|object
Normalizes given $data.
normalizeException()  : array<string|int, mixed>
Normalizes given exception with or without its own stack trace based on `includeStacktraces` property.
toJson()  : string
Return the JSON representation of a value

Constants

Properties

$ignoreEmptyContextAndExtra

protected bool $ignoreEmptyContextAndExtra

$includeStacktraces

protected bool $includeStacktraces = false

Methods

__construct()

public __construct([self::BATCH_MODE_* $batchMode = self::BATCH_MODE_JSON ][, bool $appendNewline = true ][, bool $ignoreEmptyContextAndExtra = false ][, bool $includeStacktraces = false ]) : mixed
Parameters
$batchMode : self::BATCH_MODE_* = self::BATCH_MODE_JSON
$appendNewline : bool = true
$ignoreEmptyContextAndExtra : bool = false
$includeStacktraces : bool = false
Tags
throws
RuntimeException

If the function json_encode does not exist

addJsonEncodeOption()

public addJsonEncodeOption(int $option) : $this
Parameters
$option : int
Return values
$this

format()

Formats a log record.

public format(LogRecord $record) : mixed
Parameters
$record : LogRecord

A record to format

Tags
inheritDoc
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

Tags
inheritDoc
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 ]) : $this
Parameters
$include : bool = true
Return values
$this

isAppendingNewlines()

True if newlines are appended to every formatted record

public isAppendingNewlines() : bool
Return values
bool

normalizeValue()

Normalize an arbitrary value to a scalar|array|null

public normalizeValue(mixed $data) : null|scalar|array<string|int, array<string|int, mixed>|scalar|null>
Parameters
$data : mixed
Return values
null|scalar|array<string|int, array<string|int, mixed>|scalar|null>

removeJsonEncodeOption()

public removeJsonEncodeOption(int $option) : $this
Parameters
$option : int
Return values
$this

setAppName()

public setAppName(string $appName) : $this
Parameters
$appName : string
Return values
$this

setBasePath()

Setting a base path will hide the base path from exception and stack trace file names to shorten them

public setBasePath([string $path = '' ]) : $this
Parameters
$path : string = ''
Return values
$this

setDateFormat()

public setDateFormat(string $dateFormat) : $this
Parameters
$dateFormat : string
Return values
$this

setHostname()

public setHostname(string $hostname) : $this
Parameters
$hostname : string
Return values
$this

setJsonPrettyPrint()

Enables `json_encode` pretty print.

public setJsonPrettyPrint(bool $enable) : $this
Parameters
$enable : bool
Return values
$this

setMaxNormalizeDepth()

public setMaxNormalizeDepth(int $maxNormalizeDepth) : $this
Parameters
$maxNormalizeDepth : int
Return values
$this

setMaxNormalizeItemCount()

public setMaxNormalizeItemCount(int $maxNormalizeItemCount) : $this
Parameters
$maxNormalizeItemCount : int
Return values
$this

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

LogRecord[] $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

LogRecord[] $records

Return values
string

formatDate()

protected formatDate(DateTimeInterface $date) : string
Parameters
$date : DateTimeInterface
Return values
string

normalize()

Normalizes given $data.

protected normalize(mixed $data[, int $depth = 0 ]) : null|scalar|array<string|int, array<string|int, mixed>|scalar|null|object>|object
Parameters
$data : mixed
$depth : int = 0
Return values
null|scalar|array<string|int, array<string|int, mixed>|scalar|null|object>|object

normalizeException()

Normalizes given exception with or without its own stack trace based on `includeStacktraces` property.

protected normalizeException(Throwable $e[, int $depth = 0 ]) : array<string|int, mixed>
Parameters
$e : Throwable
$depth : int = 0
Tags
inheritDoc
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


        
On this page

Search results