GelfMessageFormatter
extends NormalizerFormatter
in package
Serializes a log message to GELF
Tags
Table of Contents
- SIMPLE_DATE = "Y-m-d\TH:i:sP"
- DEFAULT_MAX_LENGTH = 32766
- $contextPrefix : string
- $dateFormat : string
- $extraPrefix : string
- $maxLength : int
- $maxNormalizeDepth : int
- $maxNormalizeItemCount : int
- $systemName : string
- $gelfVersion : int
- $jsonEncodeOptions : int
- $logLevels : array<int, int>
- Translates Monolog log levels to Graylog2 log priorities.
- __construct() : mixed
- addJsonEncodeOption() : self
- format() : mixed
- Formats a log record.
- formatBatch() : mixed
- 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
- 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"
DEFAULT_MAX_LENGTH
protected
mixed
DEFAULT_MAX_LENGTH
= 32766
Properties
$contextPrefix
protected
string
$contextPrefix
a prefix for 'context' fields from the Monolog record (optional)
$dateFormat
protected
string
$dateFormat
$extraPrefix
protected
string
$extraPrefix
a prefix for 'extra' fields from the Monolog record (optional)
$maxLength
protected
int
$maxLength
max length per field
$maxNormalizeDepth
protected
int
$maxNormalizeDepth
= 9
$maxNormalizeItemCount
protected
int
$maxNormalizeItemCount
= 1000
$systemName
protected
string
$systemName
the name of the system for the Gelf log message
$gelfVersion
private
int
$gelfVersion
= 2
$jsonEncodeOptions
private
int
$jsonEncodeOptions
= MonologUtils::DEFAULT_JSON_FLAGS
$logLevels
Translates Monolog log levels to Graylog2 log priorities.
private
array<int, int>
$logLevels
= [MonologLogger::DEBUG => 7, MonologLogger::INFO => 6, MonologLogger::NOTICE => 5, MonologLogger::WARNING => 4, MonologLogger::ERROR => 3, MonologLogger::CRITICAL => 2, MonologLogger::ALERT => 1, MonologLogger::EMERGENCY => 0]
Tags
Methods
__construct()
public
__construct([string|null $systemName = null ][, string|null $extraPrefix = null ][, string $contextPrefix = 'ctxt_' ][, int|null $maxLength = null ]) : mixed
Parameters
- $systemName : string|null = null
- $extraPrefix : string|null = null
- $contextPrefix : string = 'ctxt_'
- $maxLength : int|null = null
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) : mixed
Parameters
- $record : array<string|int, mixed>
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
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 —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