This class provides a function object that formats a log record as JSON text elements and renders them to an output stream.

Synopsis

Declared in <ball_recordjsonformatter.h>

class RecordJsonFormatter;

Description

The overloaded operator() provided by the class formats log record according to a message format specification supplied either by setJsonFormat or setSimplifiedFormat manipulator or the default format installed by the constructor) and outputs the result to the stream. While this functor type is designed to match the function signature expected by many concrete ball::Observer implementations that publish log records (for example, see ball::FileObserver2::setLogFileFunctor) it is advised to use the more flexible scheme‐based format selection provided now by every BDE‐made observer.

Type Aliases

Name

Description

FieldFormatters

FieldFormatters is an alias for a vector of field‐formatter pointers.

allocator_type

This typedef is an alias for the allocator used by this object.

Enums

Name

Description

SpecSyntax

Enumerator to determine the syntax of the specification string.

Member Functions

Name

Description

RecordJsonFormatter [constructor]

Constructors

~RecordJsonFormatter [destructor]

Destroy this object.

operator=

Assignment operators

allocator [deprecated]

DEPRECATED: Use get_allocator().mechanism() instead.

format

Return the message format specification of this record JSON formatter.

formatSyntax

Return the message format specification syntax of this record JSON formatter. See {`Record Format Specification`}.

get_allocator

Return the allocator used by this object to supply memory.

operator()

Format the specified record according to the current format and recordSeparator to the specified stream.

recordSeparator

Return the record separator of this record JSON formatter.

setFormat

DEPRECATED: Use setJsonFormat instead.

setJsonFormat

Set this formatter's JSON message format specification to format.

setRecordSeparator

Set the record separator for this record JSON formatter to the specified recordSeparator.

setSimplifiedFormat

Parse a simplified format specification and configure this formatter.

setTimezoneDefault

Set the default time zone for timestamps without a timezone in the format.

timezoneDefault

Get the time zone default setting.

Static Member Functions

Name

Description

loadJsonSchemeFormatter

Configure a "json"‐scheme formatter and load it into output.

loadQjsonSchemeFormatter

Configure a "qjson"‐scheme formatter and load it into output.

Non-Member Functions

Name

Description

operator!=

Return true if the specified lhs and rhs record formatters do not have the same value, and false otherwise.

operator==

Return true if the specified lhs and rhs record formatters have the same value, and false otherwise.

Created with MrDocs