BloombergLP::ball::AsyncFileObserver::AsyncFileObserver

Create an async file observer with queue capacity and drop threshold.

Synopsis

Declared in <ball_asyncfileobserver.h>

AsyncFileObserver(
    Severity::Level stdoutThreshold,
    bool publishInLocalTime,
    int maxRecordQueueSize,
    Severity::Level dropRecordsOnFullQueueThreshold,
    bslma::Allocator* basicAllocator = 0);

Description

Create an async file observer that asynchronously publishes log records to stdout if their severity is at least as severe as the specified stdoutThreshold level, and has file logging initially disabled. The timestamp attribute of published records is written in local time if the specified publishInLocalTime flag is true, and in UTC time otherwise. Records received by the publish method are appended to a queue having the specified (fixed) maxRecordQueueSize, and published later by an independent publication thread. The specified dropRecordsOnFullQueueThreshold indicates the severity threshold below which records received when the queue is full will be discarded; records received whose severity is at least as severe as this threshold will block the calling thread if the queue is full, until space is available. (See {Log Record Queue} for further information.) Optionally specify a basicAllocator used to supply memory. If basicAllocator is 0, the currently installed default allocator is used. Note that independent default record formats are in effect for stdout and file logging (see setLogFormat).

Parameters

NameDescription
stdoutThresholdminimum severity for records logged to stdout
publishInLocalTimewhether timestamps are written in local time
maxRecordQueueSizemaximum number of queued unpublished records
dropRecordsOnFullQueueThresholdseverity below which full-queue records are dropped
basicAllocatormemory allocator; null uses the default