GoogleCloudLoggingFormatter
extends JsonFormatter
in package
Encodes message information into JSON in a format compatible with Cloud logging.
Tags
Table of Contents
Constants
- BATCH_MODE_JSON = 1
- BATCH_MODE_NEWLINES = 2
- SIMPLE_DATE = "Y-m-d\\TH:i:sP"
Properties
- $appendNewline : bool
- $batchMode : self::BATCH_MODE_*
- $dateFormat : string
- $ignoreEmptyContextAndExtra : bool
- $includeStacktraces : bool
- $maxNormalizeDepth : int
- $maxNormalizeItemCount : int
- $jsonEncodeOptions : int
Methods
- __construct() : mixed
- addJsonEncodeOption() : self
- format() : mixed
- {@inheritdoc} *
- 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
- setDateFormat() : 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<string|int, mixed>|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"
Properties
$appendNewline
protected
bool
$appendNewline
$batchMode
protected
self::BATCH_MODE_*
$batchMode
$dateFormat
protected
string
$dateFormat
$ignoreEmptyContextAndExtra
protected
bool
$ignoreEmptyContextAndExtra
$includeStacktraces
protected
bool
$includeStacktraces
= false
$maxNormalizeDepth
protected
int
$maxNormalizeDepth
= 9
$maxNormalizeItemCount
protected
int
$maxNormalizeItemCount
= 1000
$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
addJsonEncodeOption()
public
addJsonEncodeOption(int $option) : self
Parameters
- $option : int
Return values
selfformat()
{@inheritdoc} *
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
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
intgetDateFormat()
public
getDateFormat() : string
Return values
stringgetMaxNormalizeDepth()
The maximum number of normalization levels to go through
public
getMaxNormalizeDepth() : int
Return values
intgetMaxNormalizeItemCount()
The maximum number of items to normalize per level
public
getMaxNormalizeItemCount() : int
Return values
intincludeStacktraces()
public
includeStacktraces([bool $include = true ]) : self
Parameters
- $include : bool = true
Return values
selfisAppendingNewlines()
True if newlines are appended to every formatted record
public
isAppendingNewlines() : bool
Return values
boolremoveJsonEncodeOption()
public
removeJsonEncodeOption(int $option) : self
Parameters
- $option : int
Return values
selfsetDateFormat()
public
setDateFormat(string $dateFormat) : self
Parameters
- $dateFormat : string
Return values
selfsetJsonPrettyPrint()
Enables `json_encode` pretty print.
public
setJsonPrettyPrint(bool $enable) : self
Parameters
- $enable : bool
Return values
selfsetMaxNormalizeDepth()
public
setMaxNormalizeDepth(int $maxNormalizeDepth) : self
Parameters
- $maxNormalizeDepth : int
Return values
selfsetMaxNormalizeItemCount()
public
setMaxNormalizeItemCount(int $maxNormalizeItemCount) : self
Parameters
- $maxNormalizeItemCount : int
Return values
selfformatBatchJson()
Return a JSON-encoded array of records.
protected
formatBatchJson(array<string|int, mixed> $records) : string
Parameters
- $records : array<string|int, mixed>
Tags
Return values
stringformatBatchNewlines()
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
stringformatDate()
protected
formatDate(DateTimeInterface $date) : string
Parameters
- $date : DateTimeInterface
Return values
stringnormalize()
protected
normalize(mixed $data[, int $depth = 0 ]) : null|scalar|array<string|int, array<string|int, mixed>|scalar|null>
Parameters
- $data : mixed
- $depth : int = 0
Return values
null|scalar|array<string|int, array<string|int, mixed>|scalar|null>normalizeException()
protected
normalizeException(Throwable $e[, int $depth = 0 ]) : array<string|int, mixed>
Parameters
- $e : Throwable
- $depth : int = 0
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