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

This class provides a container for a fixed set of attributes appropriate for logging&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class RecordAttributes;
----

== Description

For each attribute in this class (e&period;g&period;, `category`), there is an accessor for obtaining the attribute&apos;s value (the `category` accessor) and a manipulator for changing the attribute&apos;s value (the `setCategory` manipulator)&period;

Additionally, this class supports a complete set of _value_ _semantic_ operations, including copy construction, assignment and equality comparison, and `ostream` printing&period; A precise operational definition of when two instances have the same value can be found in the description of `operator&equals;&equals;` for the class&period; This class is _exception_ _neutral_ with no guarantee of rollback&colon; If an exception is thrown during the invocation of a method on a pre&hyphen;existing instance, the object is left in a valid state, but its value is undefined&period; In no event is memory leaked&period; Finally, _aliasing_ (e&period;g&period;, using all or part of an object as both source and destination) is supported in all cases&period;

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/RecordAttributes/2constructor-0e.adoc[`RecordAttributes`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/ball/RecordAttributes/operator_assign.adoc[`operator&equals;`] 
| Assign to this record attributes object the value of the specified `rhs` record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/category.adoc[`category`] 
| Return the category attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/clearMessage.adoc[`clearMessage`] 
| Set the message attribute of this record attributes object to the empty string&period; Resets the objects returned by the `messageStreamBuf` and `messageStream` methods&period;
| xref:BloombergLP/ball/RecordAttributes/fileName.adoc[`fileName`] 
| Return the filename attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/kernelThreadID.adoc[`kernelThreadID`] 
| Return the kernelThreadID attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/lineNumber.adoc[`lineNumber`] 
| Return the line number attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/message.adoc[`message`] 
| Return the message attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/messageRef.adoc[`messageRef`] 
| Return a string reference providing non&hyphen;modifiable access to the message attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/messageStream-091.adoc[`messageStream`] 
| `messageStream` overloads
| xref:BloombergLP/ball/RecordAttributes/messageStreamBuf-0f.adoc[`messageStreamBuf`] 
| `messageStreamBuf` overloads
| xref:BloombergLP/ball/RecordAttributes/print.adoc[`print`] 
| Format this object to the specified output `stream`&period;
| xref:BloombergLP/ball/RecordAttributes/processID.adoc[`processID`] 
| Return the processID attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/setCategory.adoc[`setCategory`] 
| Set the category attribute of this record attributes object to the specified `category`&period;
| xref:BloombergLP/ball/RecordAttributes/setFileName.adoc[`setFileName`] 
| Set the filename attribute of this record attributes object to the specified `fileName`&period;
| xref:BloombergLP/ball/RecordAttributes/setKernelThreadID.adoc[`setKernelThreadID`] 
| Set the kernelThreadID attribute of this record attributes object to the specified `kernelThreadID`&period;
| xref:BloombergLP/ball/RecordAttributes/setLineNumber.adoc[`setLineNumber`] 
| Set the line number attribute of this record attributes object to the specified `lineNumber`&period;
| xref:BloombergLP/ball/RecordAttributes/setMessage.adoc[`setMessage`] 
| Set the message attribute of this record attributes object to the specified `message`&period;
| xref:BloombergLP/ball/RecordAttributes/setProcessID.adoc[`setProcessID`] 
| Set the processID attribute of this record attributes object to the specified `processID`&period;
| xref:BloombergLP/ball/RecordAttributes/setSeverity.adoc[`setSeverity`] 
| Set the severity attribute of this record attributes object to the specified `severity`&period;
| xref:BloombergLP/ball/RecordAttributes/setThreadID.adoc[`setThreadID`] 
| Set the threadID attribute of this record attributes object to the specified `threadID`&period;
| xref:BloombergLP/ball/RecordAttributes/setTimestamp.adoc[`setTimestamp`] 
| Set the timestamp attribute of this record attributes object to the specified `timestamp`&period;
| xref:BloombergLP/ball/RecordAttributes/severity.adoc[`severity`] 
| Return the severity attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/threadID.adoc[`threadID`] 
| Return the threadID attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/timestamp.adoc[`timestamp`] 
| Return the timestamp attribute of this record attributes object&period;
| xref:BloombergLP/ball/RecordAttributes/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;RecordAttributes, UsesBslmaAllocator&gt;`] 
| Declare that this type uses a `bslma` allocator&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/ball/operator_eq-0b7.adoc[BloombergLP::ball::operator&equals;&equals;]`
| Return `true` if the specified `lhs` and `rhs` record attributes objects have the same value, and `false` otherwise&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/operator_not_eq-034.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` record attributes objects do not have the same value, and `false` otherwise&period;
|===


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