[#BloombergLP-ball-Logger-logMessage-00] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/Logger.adoc[Logger]::logMessage :relfileprefix: ../../../ :mrdocs: Log the specified `*record` after setting its category attribute to the name of the specified `category` and severity attribute to the specified `severity`. (See the component‐level documentation of `ball_record` for more information on the fields that are logged.) Store the record in the buffer held by this logger if `severity` is at least as severe as the current "Record" threshold level of `category`. Pass the record directly to the observer held by this logger if `severity` is at least as severe as the current "Pass" threshold level of `category`. Publish the entire contents of the buffer of this logger if `severity` is at least as severe as the current "Trigger" threshold level of `category`. Publish the entire contents of all buffers of all active loggers if `severity` is at least as severe as the current "Trigger‐All" threshold level of `category` (i.e., via the callback supplied at construction). Finally, dispose of `record`. This method has no effect (other than disposing of `record`) if `severity` is less severe than each of the threshold levels of `category`. The behavior is undefined unless `severity` is in the range `[1 .. 255]`, both `fileName` and `message` are null‐terminated, and `record` was previously obtained by a call to `getRecord` on this logger. Note that `record` will be invalid after this method returns. == Synopsis Declared in `<ball_loggermanager.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void logMessage( xref:BloombergLP/ball/Category.adoc[Category] const& category, int severity, xref:BloombergLP/ball/Record.adoc[Record]* record); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#