BloombergLP::ball::AsyncFileObserver::AsyncFileObserver

Create an async file observer with an explicit record-queue capacity.

Synopsis

Declared in <ball_asyncfileobserver.h>

AsyncFileObserver(
    Severity::Level stdoutThreshold,
    bool publishInLocalTime,
    int maxRecordQueueSize,
    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. All records received while the queue is full are discarded. (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
basicAllocatormemory allocator; null uses the default