[#BloombergLP-ball-RecordFormatterRegistryUtil]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::RecordFormatterRegistryUtil
:relfileprefix: ../../
:mrdocs:

This utility provides a namespace for functions to create log record formatters based on URI&hyphen;like scheme identifiers&period;

== Synopsis

Declared in `&lt;ball&lowbar;recordformatterregistryutil&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct RecordFormatterRegistryUtil;
----

== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/RecordFormatterRegistryUtil/createRecordFormatter.adoc[`createRecordFormatter`] 
| Load, into the specified `result` a formatter functor that formats as instructed by the specified `format` and `formatOptions`&period; The `format` may start with a URI&hyphen;like scheme (e&period;g&period;, `&quot;qjson&colon;&sol;&sol;&quot;`) that selects both the formatter (class) and the syntax of the format specification that follows the scheme&period; In case `format` does not start with a scheme the &quot;text&colon;&sol;&sol;&quot; scheme is assumed&period; Return 0 if the requested log record formatter was successfully created and loaded into `result`&period; Otherwise, if &grave;results is empty, load a default&sol;fallback&hyphen;formatter into `result`, with the requested scheme if that exists or with a sensible fallback text log format otherwise&period; For further details on behavior in case of errors see &lcub;Behavior with Invalid Formats&rcub;&period; This method currently supports the &quot;text&quot;, &quot;qjson&quot;, and &quot;json&quot; schemes&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/RecordFormatterRegistryUtil/k_FALLBACK_LOG_FORMAT_URI.adoc[`k&lowbar;FALLBACK&lowbar;LOG&lowbar;FORMAT&lowbar;URI`] 
| URI used as a fallback when no scheme&hyphen;specific log format is available&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
