Package namespace for logging components.

Types

Name

Description

Administration

This struct provides a namespace for logging administration utilities.

AsyncFileObserver

Asynchronous observer that publishes log records to stdout and a file.

AsyncFileObserver_Record

PRIVATE STRUCT. For use by the ball::AsyncFileObserver implementation only. This struct holds a log record and its associated context.

Attribute

An Attribute object contains an attribute name which is not managed and an attribute value which is managed.

AttributeCollectorRegistry

This component maintains a registry of named functors ("collectors") that are used to transform opaque user data into a set of ball::Attribute objects.

AttributeContainer

This class defines a protocol for a container of attribute values.

AttributeContainerList

This class provides an in‐core value‐semantic list of AttributeContainer object addresses. Attribute container addresses are added to this list using pushFront(), which returns an iterator located at the new element. A AttributeContainerList::iterator object remains valid until the element referred to by the iterator is removed. Attribute container addresses can be removed using either remove(), removeAll(), or removeAllAndRelease(). This list object attempts to minimize the number of memory allocations it requires by placing the memory for elements that have been released in a free memory store, and re‐using the memory when new elements are added. The removeAll() removes all the elements from the list, but does not release any allocated memory (placing it in the free store). The removeAllAndRelease() operation removes all elements and releases all allocated memory. Note that maintaining a free store is important for this component because the expectation is that elements will be both added and removed frequently.

AttributeContainerListIterator

This class provides an STL‐style iterator over a sequence of AttributeContainer object addresses.

AttributeContainerList_Node

This is an implementation type of AttributeContainerList and should not be used by clients of this package.

AttributeContext

Mechanism for associating attributes with the current thread and evaluating logging rules.

AttributeContextProctor

Proctor that destroys the current thread's attribute context on destruction.

AttributeContext_RuleEvaluationCache

Implementation type that evaluates and caches whether logging rules are active.

BroadcastObserver

This class provides a broadcasting implementation of the Observer protocol.

Category

This class provides a container for a category name and threshold levels.

CategoryCallbacks

This struct provides a namespace for default threshold level related callback function types.

CategoryHolder

This class holds a category, a threshold level, and a next‐holder pointer.

CategoryManager

This class manages a registry of categories.

CategoryManagerImpUtil

This class provides a suite of free functions used to help implement a manager of categories and category holders.

CategoryManagerIter

Iterator providing read‐only access to category manager categories.

CategoryManagerManip

Iterator providing modifiable access to category manager categories.

CategoryManager_RadixTree

Space‐efficient associative container mapping string keys to t_VALUE.

CategoryManager_RadixTree_ChildNodeGuard

RAII guard that removes a child node on exception during value emplacement.

CategoryManager_RadixTree_Node

This class template represents a node in the radix tree.

Context

This class provides a container for the context of a transmitted log record.

CountingAllocator

This class maintains a count of the total number of allocated bytes.

CstdioObserver

This class provides a concrete implementation of the Observer protocol.

DefaultAttributeContainer

A DefaultAttributeContainer object contains a collection of (unique) attributes values.

FileObserver

Observer that publishes log records to stdout and optionally a file.

FileObserver2

Observer that publishes log records to a user‐specified file.

FilteringObserver

This class provides a concrete Observer that filters log records.

FixedSizeRecordBuffer

Concrete, thread‐safe fixed‐size buffer of record handles.

HierarchicalCategorySetting

This class provides a container for a name prefix and associated thresholds.

Log

Namespace for utility functions that simplify logger‐manager usage.

LogFileCleanerUtil

This utility class provides functions for converting log file patterns and for cleaning up log files based on a configuration.

Log_Formatter

Aggregate of objects used by the printf‐style logging macros.

Log_Stream

Aggregate of objects used by the C++ stream‐based logging macros.

Logger

This class provides log record management services.

LoggerCategoryUtil

This struct provides a suite of utility functions that facilitate the management of the categories in LoggerManager.

LoggerFunctorPayloads

This struct provides a namespace for logger manager functor payloads.

LoggerManager

This class is usually a singleton factory for Logger objects.

LoggerManagerCategoryIter

Iterator providing read‐only access to logger manager categories.

LoggerManagerCategoryManip

Iterator providing modifiable access to logger manager categories.

LoggerManagerConfiguration

This class provides constrained configuration parameters for a logger manager.

LoggerManagerDefaults

This class provides constrained configuration parameters for a logger manager.

LoggerManagerScopedGuard

This class implements a scoped guard that, on construction, creates the logger manager singleton, and, on destruction, destroys the singleton.

ManagedAttribute

A ball::ManagedAttribute object contains a ball::Attribute object and provides storage for the attribute's name.

ManagedAttributeSet

This class implements a value‐semantic collection of unique attributes.

MultiplexObserver

This class provides a multiplexing implementation of the Observer protocol.

Observer

This class provides a protocol for receiving and processing log record output.

ObserverAdapter

This class provides a helper for implementing the Observer protocol.

ObserverFormatterImp

Provide shared formatting support for scheme‐based log observers.

PatternUtil

This utility class provides functions relating to pattern matching for strings.

Record

Forward declaration of the log record type published by observers.

RecordAttributes

This class provides a container for a fixed set of attributes appropriate for logging.

RecordBuffer

Provide a protocol (or pure interface) for managing record handles (specifically instances of bsl::shared_ptr<Record>).

RecordFormatterFunctor

This struct provides a namespace for a typedef of the functor used for formatting log records to a stream.

RecordFormatterOptions

This class provides a value‐semantic type for representing options used to configure log record formatters.

RecordFormatterRegistryUtil

This utility provides a namespace for functions to create log record formatters based on URI‐like scheme identifiers.

RecordFormatterTimezone

This struct provides a namespace for enumerating timezone values for timestamps in record formatters.

RecordJsonFormatter

This class provides a function object that formats a log record as JSON text elements and renders them to an output stream.

RecordJsonFormatter_FieldFormatter

Forward declaration for a field formatter used by RecordJsonFormatter.

RecordStringFormatter

This class provides a value‐semantic log record formatter that holds a printf‐style format specification and a timestamp offset.

Rule

This class defines a value‐semantic object that holds a pattern, four threshold levels, and an attribute set.

RuleSet

This class manages a set of unique rule values.

ScopedAttribute

This class provides a scoped guard that sets a single BALL attribute in the current thread.

ScopedAttribute_Container

This component‐private class is a concrete implementation of the AttributeContainer protocol for a single attribute.

ScopedAttributes

This class provides a scoped guard that installs an AttributeContainer in the current attribute context.

Severity

This struct provides a namespace for enumerating severity levels.

SeverityUtil

This struct provides a namespace for non‐primitive procedures on the Severity::Level enumeration.

StreamObserver

This class provides a concrete implementation of the Observer protocol.

TestObserver

This class provides an instrumented implementation of the Observer protocol suitable for testing.

ThresholdAggregate

This class implements an aggregate of the four logging threshold levels.

ThresholdAggregateUtil

This class provides helper methods for working with ball::ThresholdAggregate objects.

ThresholdDefaults

This struct provides a namespace for default threshold level related constants.

Transmission

This struct provides a namespace for enumerating the causes of the transmission of a log record.

UserFieldType

This struct provides a namespace for enumerating month‐of‐year values. See Enum in the TYPES sub‐section for details.

UserFieldValue

This class implements a value‐semantic type for representing the value of a user field in a log record.

UserFields

This class implements a value‐semantic type for representing a sequence of (randomly accessible) user field values.

Type Aliases

Name

Description

Predicate

DEPRECATED: Use ball::ManagedAttribute instead.

PredicateSet

DEPRECATED: Use ball::ManagedAttributeSet instead.

Functions

Name

Description

ball_log_getCategoryHolder

Return the address of the specified categoryHolder.

swap

swap overloads

operator<<

Stream insertion operators

operator==

Equality operators

operator!=

Inequality operators

Created with MrDocs