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

This class provides constrained configuration parameters for a logger manager&period; The constraints are maintained as class invariants&semi; it is not possible to obtain an invalid object through this interface&period;

== Synopsis

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

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

== Description

This class support _in&hyphen;core_ _value&hyphen;semantic_ operations, including copy construction, assignment, and equality comparison&semi; `ostream` printing is supported, but in a modified form to handle functors, and BDEX serialization cannot be supported at all&period; (A precise operational definition of when two instances have the same (in&hyphen;core) 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;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/LoggerManagerConfiguration/CategoryNameFilterCallback-02.adoc[`CategoryNameFilterCallback`] 
| `CategoryNameFilterCallback` is the type of the user&hyphen;supplied functor that translates external category names to internal names&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/DefaultThresholdLevelsCallback-05.adoc[`DefaultThresholdLevelsCallback`] 
| `DefaultThresholdLevelsCallback` is the type of the functor that determines default threshold levels for categories added to the registry by the `setCategory(const char &ast;)` method&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/UserFieldsPopulatorCallback-09.adoc[`UserFieldsPopulatorCallback`] 
| `UserFieldsPopulatorCallback` is the type of a user&hyphen;supplied callback functor used to populate the user&hyphen;defined fields in each log record&period;
|===


== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/LoggerManagerConfiguration/LogOrder-0bf.adoc[`LogOrder`] 
| The `LogOrder` enumeration defines the order in which messages will be published to the underlying observer in the case of Trigger and Trigger&hyphen;All events&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/TriggerMarkers-00.adoc[`TriggerMarkers`] 
| The `TriggerMarkers` enumeration defines whether text will be written to the log to indicate whether a series of log records were logged due to either a Trigger or Trigger&hyphen;All event&period; If this attribute is `e&lowbar;BEGIN&lowbar;END&lowbar;MARKERS`, then &quot;BEGIN RECORD DUMP&quot; and &quot;END RECORD DUMP&quot; will be written before and after each sequence of records logged due to a Trigger or Trigger&hyphen;All event&period; The default value of this attribute is `e&lowbar;BEGIN&lowbar;END&lowbar;MARKERS`&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/LoggerManagerConfiguration/2constructor-0b.adoc[`LoggerManagerConfiguration`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/ball/LoggerManagerConfiguration/operator_assign.adoc[`operator&equals;`] 
| Assign to this logger manager configuration constrained&hyphen;attribute object the in&hyphen;core value of the specified `rhs` object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/categoryNameFilterCallback-0f.adoc[`categoryNameFilterCallback`] 
| Return a reference to the non&hyphen;modifiable category name filter functor attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaultLoggerBufferSize.adoc[`defaultLoggerBufferSize`] 
| Return the default logger&hyphen;message&hyphen;buffer size attribute of the `LoggerManagerDefaults` attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaultPassLevel.adoc[`defaultPassLevel`] 
| Return the default Pass threshold level attribute of the `LoggerManagerDefaults` attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaultRecordBufferSize.adoc[`defaultRecordBufferSize`] 
| Return the default&hyphen;logger record&hyphen;buffer size attribute of the `LoggerManagerDefaults` attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaultRecordLevel.adoc[`defaultRecordLevel`] 
| Return the default Record threshold level attribute of the `LoggerManagerDefaults` attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaultThresholdLevelsCallback-0f.adoc[`defaultThresholdLevelsCallback`] 
| Return a reference to the non&hyphen;modifiable default severity&hyphen;level thresholds functor attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaultTriggerAllLevel.adoc[`defaultTriggerAllLevel`] 
| Return the default Trigger&hyphen;All threshold level attribute of the `LoggerManagerDefaults` attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaultTriggerLevel.adoc[`defaultTriggerLevel`] 
| Return the default Trigger threshold level attribute of the `LoggerManagerDefaults` attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/defaults.adoc[`defaults`] 
| Return a reference to the non&hyphen;modifiable defaults object attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/logOrder-0b2.adoc[`logOrder`] 
| Return the log order attribute of this object&period; See attributes description for effects of the log order&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/print.adoc[`print`] 
| Format a reasonable representation of this object to the specified output `stream` at the (absolute value of) the optionally specified indentation `level` and return a reference to `stream`&period; If `level` is specified, optionally specify `spacesPerLevel`, the number of spaces per indentation level for this and all of its nested objects&period; If `level` is negative, suppress indentation of the first line&period; If `spacesPerLevel` is negative, suppress all indentation AND format the entire output on one line&period; If `stream` is not valid on entry, this operation has no effect&period; The format will indicate whether the contained functors are or are not &quot;null&quot;, but will not otherwise attempt to represent functor &quot;values&quot;&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setCategoryNameFilterCallback.adoc[`setCategoryNameFilterCallback`] 
| Set the category name&hyphen;filter callback functor attribute of this object to the specified `nameFilter`&period; Note that this method cannot fail, and that `nameFilter` can be a &quot;null&quot; (i&period;e&period;, unpopulated) functor object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setDefaultLoggerBufferSizeIfValid.adoc[`setDefaultLoggerBufferSizeIfValid`] 
| Set the default logger&hyphen;message&hyphen;buffer size attribute of the `LoggerManagerDefaults` attribute of this object to the specified `numBytes` if `0 &lt; numBytes`&period; Return 0 on success, and a non&hyphen;zero value otherwise with no effect on this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setDefaultRecordBufferSizeIfValid.adoc[`setDefaultRecordBufferSizeIfValid`] 
| Set the default&hyphen;logger record&hyphen;buffer size attribute of the `LoggerManagerDefaults` attribute of this object to the specified `numBytes` if `0 &lt; numBytes`&period; Return 0 on success, and a non&hyphen;zero value otherwise with no effect on this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setDefaultThresholdLevelsCallback.adoc[`setDefaultThresholdLevelsCallback`] 
| Set the default thresholds callback functor attribute of this object to the specified `thresholdsCb`&period; Note that this method cannot fail, and that `thresholdsCb` can be a &quot;null&quot; (i&period;e&period;, unpopulated) functor object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setDefaultThresholdLevelsIfValid-0f3.adoc[`setDefaultThresholdLevelsIfValid`] 
| `setDefaultThresholdLevelsIfValid` overloads
| xref:BloombergLP/ball/LoggerManagerConfiguration/setDefaultValues.adoc[`setDefaultValues`] 
| Set the default values attribute of this object to the specified `defaults`&period; Note that, since `defaults` is itself a constrained&hyphen;attribute object, this method cannot fail&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setLogOrder.adoc[`setLogOrder`] 
| Set the log order attribute of this object to the specified `value`&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setTriggerMarkers.adoc[`setTriggerMarkers`] 
| Set the trigger marker attribute of this object to the specified `value`&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/setUserFieldsPopulatorCallback.adoc[`setUserFieldsPopulatorCallback`] 
| Set the user&hyphen;fields populator callback attribute of this object to the specified `populatorCallback`&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/triggerMarkers-03.adoc[`triggerMarkers`] 
| Return the trigger marker attribute of this object&period; See attributes description for effects of the trigger markers&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/userFieldsPopulatorCallback-0e.adoc[`userFieldsPopulatorCallback`] 
| Return a reference providing non&hyphen;modifiable access to the user&hyphen;fields populator functor attribute of this object&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;LoggerManagerConfiguration, UsesBslmaAllocator&gt;`] 
| Nested trait declaration for `bslma&colon;&colon;UsesBslmaAllocator`&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/LoggerManagerConfiguration/areValidDefaultThresholdLevels.adoc[`areValidDefaultThresholdLevels`] 
| Return `true` if each of the specified `recordLevel`, `passLevel`, `triggerLevel`, and `triggerAllLevel` values is a valid default severity threshold level, and `false` otherwise&period; Valid severity threshold levels are in the range `&lsqb;0 &period;&period; 255&rsqb;`&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/isValidDefaultLoggerBufferSize.adoc[`isValidDefaultLoggerBufferSize`] 
| Return `true` if the specified `numBytes` is a valid default logger&hyphen;message&hyphen;buffer size value, and `false` otherwise&period; `numBytes` is valid if `0 &lt; numBytes`&period;
| xref:BloombergLP/ball/LoggerManagerConfiguration/isValidDefaultRecordBufferSize.adoc[`isValidDefaultRecordBufferSize`] 
| Return `true` if the specified `numBytes` is a valid default&hyphen;logger record&hyphen;buffer size value, and `false` otherwise&period; `numBytes` is valid if `0 &lt; numBytes`&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/ball/operator_eq-085.adoc[BloombergLP::ball::operator&equals;&equals;]`
| Return `true` if the specified `lhs` and `rhs` attribute objects have the same (in&hyphen;core) value, and `false` otherwise&period; Two attribute objects objects have the same in&hyphen;core value if each respective attribute has the same in&hyphen;core value&period; Note that functor attributes must have identically the same representation to have the same in&hyphen;core value&period;
| `xref:BloombergLP/ball/operator_lshift-012.adoc[BloombergLP::ball::operator&lt;&lt;]`
| Write a reasonable representation of the specified `configuration` object to the specified output `stream`, indicating whether the contained functors are or are not &quot;null&quot;&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/operator_not_eq-061.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` attribute objects do not have the same (in&hyphen;core) value, and `false` otherwise&period; Two attribute objects do not have the same in&hyphen;core value if one or more respective attributes differ in in&hyphen;core values&period; Note that functor attributes will have different in&hyphen;core values if their representations are not identical&period;
|===


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