[#BloombergLP-ball-Logger] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::Logger :relfileprefix: ../../ :mrdocs: This class provides log record management services. == Synopsis Declared in `<ball_loggermanager.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class Logger; ---- == Description This class provides log record management services. Each instance of `Logger` receives log records from one or more clients, manages the storage of those records, and transmits them to a registered recipient (i.e., an observer) when appropriate. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/Logger/PublishAllTriggerCallback.adoc[`PublishAllTriggerCallback`] | Functor invoked to publish all logger record buffers. | xref:BloombergLP/ball/Logger/UserFieldsPopulatorCallback.adoc[`UserFieldsPopulatorCallback`] | `UserFieldsPopulatorCallback` is the type of a user‐supplied callback functor used to populate the user‐defined fields in each log record. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/Logger/getRecord.adoc[`getRecord`] | Return a modifiable record from this logger's object pool. | xref:BloombergLP/ball/Logger/logMessage-0b.adoc[`logMessage`] | `logMessage` overloads | xref:BloombergLP/ball/Logger/messageBuffer.adoc[`messageBuffer`] | Return the address of the modifiable message buffer. | xref:BloombergLP/ball/Logger/messageBufferSize.adoc[`messageBufferSize`] | Return the size, in bytes, of the message buffer managed by this logger. | xref:BloombergLP/ball/Logger/numRecordsInUse.adoc[`numRecordsInUse`] | Return a _snapshot_ of number of records that have been dispensed by `getRecord` but have not yet been supplied (returned) using `logRecord`. | xref:BloombergLP/ball/Logger/obtainMessageBuffer-04.adoc[`obtainMessageBuffer`] | `obtainMessageBuffer` overloads | xref:BloombergLP/ball/Logger/publish.adoc[`publish`] | Publish all buffered records with cause `MANUAL_PUBLISH`. | xref:BloombergLP/ball/Logger/removeAll.adoc[`removeAll`] | Remove all log records from the record buffer of this logger. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/ball/LoggerManager.adoc[BloombergLP::ball::LoggerManager]` | This class is usually a singleton factory for `Logger` objects. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#