BDE 4.14.0 Production release
|
#include <ball_loggermanagerconfiguration.h>
Public Types | |
enum | LogOrder { e_FIFO , e_LIFO , BAEL_FIFO = e_FIFO , BAEL_LIFO = e_LIFO , FIFO = e_FIFO , LIFO = e_LIFO } |
enum | TriggerMarkers { e_NO_MARKERS , e_BEGIN_END_MARKERS , BAEL_NO_MARKERS = e_NO_MARKERS , BAEL_BEGIN_END_MARKERS = e_BEGIN_END_MARKERS , NO_MARKERS = e_NO_MARKERS , BEGIN_END_MARKERS = e_BEGIN_END_MARKERS } |
typedef bsl::function< void(ball::UserFields *)> | UserFieldsPopulatorCallback |
typedef bsl::function< void(bsl::string *, const char *)> | CategoryNameFilterCallback |
typedef bsl::function< void(int *, int *, int *, int *, const char *)> | DefaultThresholdLevelsCallback |
Static Public Member Functions | |
static bool | isValidDefaultRecordBufferSize (int numBytes) |
static bool | isValidDefaultLoggerBufferSize (int numBytes) |
static bool | areValidDefaultThresholdLevels (int recordLevel, int passLevel, int triggerLevel, int triggerAllLevel) |
Friends | |
bsl::ostream & | operator<< (bsl::ostream &, const LoggerManagerConfiguration &) |
bool | operator== (const LoggerManagerConfiguration &, const LoggerManagerConfiguration &) |
This class provides constrained configuration parameters for a logger manager. The constraints are maintained as class invariants; it is not possible to obtain an invalid object through this interface.
This class support in-core value-semantic operations, including copy construction, assignment, and equality comparison; ostream
printing is supported, but in a modified form to handle functors, and BDEX serialization cannot be supported at all. (A precise operational definition of when two instances have the same (in-core) value can be found in the description of operator==
for the class.) This class is exception neutral with no guarantee of rollback: If an exception is thrown during the invocation of a method on a pre-existing instance, the object is left in a valid state, but its value is undefined. In no event is memory leaked. Finally, aliasing (e.g., using all or part of an object as both source and destination) is supported in all cases.
typedef bsl::function<void(bsl::string *, const char *)> ball::LoggerManagerConfiguration::CategoryNameFilterCallback |
CategoryNameFilterCallback
is the type of the user-supplied functor that translates external category names to internal names.
typedef bsl::function<void(int *, int *, int *, int *, const char *)> ball::LoggerManagerConfiguration::DefaultThresholdLevelsCallback |
DefaultThresholdLevelsCallback
is the type of the functor that determines default threshold levels for categories added to the registry by the setCategory(const char *)
method.
typedef bsl::function<void(ball::UserFields *)> ball::LoggerManagerConfiguration::UserFieldsPopulatorCallback |
UserFieldsPopulatorCallback
is the type of a user-supplied callback functor used to populate the user-defined fields in each log record.
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-All event. If this attribute is e_BEGIN_END_MARKERS
, then "BEGIN RECORD DUMP" and "END RECORD DUMP" will be written before and after each sequence of records logged due to a Trigger or Trigger-All event. The default value of this attribute is e_BEGIN_END_MARKERS
.
Enumerator | |
---|---|
e_NO_MARKERS | |
e_BEGIN_END_MARKERS | |
BAEL_NO_MARKERS | |
BAEL_BEGIN_END_MARKERS | |
NO_MARKERS | |
BEGIN_END_MARKERS |
|
explicit |
Create a logger manager configuration constrained-attribute object having valid default values for all attributes. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
ball::LoggerManagerConfiguration::LoggerManagerConfiguration | ( | const LoggerManagerConfiguration & | original, |
bslma::Allocator * | basicAllocator = 0 |
||
) |
Create a logger manager configuration constrained-attribute object having the in-core value of the specified original
object. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
|
default |
|
static |
Return true
if each of the specified recordLevel
, passLevel
, triggerLevel
, and triggerAllLevel
values is a valid default severity threshold level, and false
otherwise. Valid severity threshold levels are in the range [0 .. 255]
.
ball::LoggerManagerConfiguration::BSLMF_NESTED_TRAIT_DECLARATION | ( | LoggerManagerConfiguration | , |
bslma::UsesBslmaAllocator | |||
) |
const CategoryNameFilterCallback & ball::LoggerManagerConfiguration::categoryNameFilterCallback | ( | ) | const |
Return a reference to the non-modifiable category name filter functor attribute of this object.
int ball::LoggerManagerConfiguration::defaultLoggerBufferSize | ( | ) | const |
Return the default logger-message-buffer size attribute of the LoggerManagerDefaults
attribute of this object.
int ball::LoggerManagerConfiguration::defaultPassLevel | ( | ) | const |
Return the default Pass threshold level attribute of the LoggerManagerDefaults
attribute of this object.
int ball::LoggerManagerConfiguration::defaultRecordBufferSize | ( | ) | const |
Return the default-logger record-buffer size attribute of the LoggerManagerDefaults
attribute of this object.
int ball::LoggerManagerConfiguration::defaultRecordLevel | ( | ) | const |
Return the default Record threshold level attribute of the LoggerManagerDefaults
attribute of this object.
const LoggerManagerDefaults & ball::LoggerManagerConfiguration::defaults | ( | ) | const |
Return a reference to the non-modifiable defaults object attribute of this object.
const DefaultThresholdLevelsCallback & ball::LoggerManagerConfiguration::defaultThresholdLevelsCallback | ( | ) | const |
Return a reference to the non-modifiable default severity-level thresholds functor attribute of this object.
int ball::LoggerManagerConfiguration::defaultTriggerAllLevel | ( | ) | const |
Return the default Trigger-All threshold level attribute of the LoggerManagerDefaults
attribute of this object.
int ball::LoggerManagerConfiguration::defaultTriggerLevel | ( | ) | const |
Return the default Trigger threshold level attribute of the LoggerManagerDefaults
attribute of this object.
|
static |
Return true
if the specified numBytes
is a valid default logger-message-buffer size value, and false
otherwise. numBytes
is valid if 0 < numBytes
.
|
static |
Return true
if the specified numBytes
is a valid default-logger record-buffer size value, and false
otherwise. numBytes
is valid if 0 < numBytes
.
LogOrder ball::LoggerManagerConfiguration::logOrder | ( | ) | const |
Return the log order attribute of this object. See attributes description for effects of the log order.
LoggerManagerConfiguration & ball::LoggerManagerConfiguration::operator= | ( | const LoggerManagerConfiguration & | rhs | ) |
Assign to this logger manager configuration constrained-attribute object the in-core value of the specified rhs
object.
bsl::ostream & ball::LoggerManagerConfiguration::print | ( | bsl::ostream & | stream, |
int | level = 0 , |
||
int | spacesPerLevel = 4 |
||
) | const |
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
. If level
is specified, optionally specify spacesPerLevel
, the number of spaces per indentation level for this and all of its nested objects. If level
is negative, suppress indentation of the first line. If spacesPerLevel
is negative, suppress all indentation AND format the entire output on one line. If stream
is not valid on entry, this operation has no effect. The format will indicate whether the contained functors are or are not "null", but will not otherwise attempt to represent functor "values".
void ball::LoggerManagerConfiguration::setCategoryNameFilterCallback | ( | const CategoryNameFilterCallback & | nameFilter | ) |
Set the category name-filter callback functor attribute of this object to the specified nameFilter
. Note that this method cannot fail, and that nameFilter
can be a "null" (i.e., unpopulated) functor object.
int ball::LoggerManagerConfiguration::setDefaultLoggerBufferSizeIfValid | ( | int | numBytes | ) |
Set the default logger-message-buffer size attribute of the LoggerManagerDefaults
attribute of this object to the specified numBytes
if 0 < numBytes
. Return 0 on success, and a non-zero value otherwise with no effect on this object.
int ball::LoggerManagerConfiguration::setDefaultRecordBufferSizeIfValid | ( | int | numBytes | ) |
Set the default-logger record-buffer size attribute of the LoggerManagerDefaults
attribute of this object to the specified numBytes
if 0 < numBytes
. Return 0 on success, and a non-zero value otherwise with no effect on this object.
void ball::LoggerManagerConfiguration::setDefaultThresholdLevelsCallback | ( | const DefaultThresholdLevelsCallback & | thresholdsCb | ) |
Set the default thresholds callback functor attribute of this object to the specified thresholdsCb
. Note that this method cannot fail, and that thresholdsCb
can be a "null" (i.e., unpopulated) functor object.
int ball::LoggerManagerConfiguration::setDefaultThresholdLevelsIfValid | ( | int | passLevel | ) |
Set the passthrough severity threshold level attribute of the LoggerManagerDefaults
attribute of this object to the specified passLevel
, if it is in the range [0 .. 255]
, and set all the other threshold levels (recordLevel, triggerLevel, triggerAllLevel) to 0. Return 0 on success, and a non-zero value otherwise with no effect on this object.
int ball::LoggerManagerConfiguration::setDefaultThresholdLevelsIfValid | ( | int | recordLevel, |
int | passLevel, | ||
int | triggerLevel, | ||
int | triggerAllLevel | ||
) |
Set the quadruplet of default severity threshold level attributes of the LoggerManagerDefaults
attribute of this object to the specified recordLevel
, passLevel
, triggerLevel
, and triggerAllLevel
values if each level is in the range [0 .. 255]
. Return 0 on success, and a non-zero value otherwise with no effect on this object.
void ball::LoggerManagerConfiguration::setDefaultValues | ( | const LoggerManagerDefaults & | defaults | ) |
Set the default values attribute of this object to the specified defaults
. Note that, since defaults
is itself a constrained-attribute object, this method cannot fail.
void ball::LoggerManagerConfiguration::setLogOrder | ( | LogOrder | value | ) |
void ball::LoggerManagerConfiguration::setTriggerMarkers | ( | TriggerMarkers | value | ) |
Set the trigger marker attribute of this object to the specified value
.
void ball::LoggerManagerConfiguration::setUserFieldsPopulatorCallback | ( | const UserFieldsPopulatorCallback & | populatorCallback | ) |
Set the user-fields populator callback attribute of this object to the specified populatorCallback
.
TriggerMarkers ball::LoggerManagerConfiguration::triggerMarkers | ( | ) | const |
Return the trigger marker attribute of this object. See attributes description for effects of the trigger markers.
const UserFieldsPopulatorCallback & ball::LoggerManagerConfiguration::userFieldsPopulatorCallback | ( | ) | const |
Return a reference providing non-modifiable access to the user-fields populator functor attribute of this object.
|
friend |
Write a reasonable representation of the specified configuration
object to the specified output stream
, indicating whether the contained functors are or are not "null".
|
friend |
Return true
if the specified lhs
and rhs
attribute objects have the same (in-core) value, and false
otherwise. Two attribute objects objects have the same in-core value if each respective attribute has the same in-core value. Note that functor attributes must have identically the same representation to have the same in-core value.