StandardStreamsLogRecorder

open class StandardStreamsLogRecorder: LogRecorderBase

The StandardStreamsLogRecorder is a LogRecorder that writes log messages to either the standard output stream (`stdout`) or the standard error stream (`stderr`) of the running process.

Messages are directed to the appropriate stream depending on the severity property of the LogEntry being recorded.

Messages having a severity of .verbose, .debug and .info will be directed to stdout, while those with a severity of .warning and .error are directed to stderr.

  • Initializes a StandardStreamsLogRecorder instance to use the specified LogFormatters for formatting log messages.

    Declaration

    Swift

    public override init(formatters: [LogFormatter], queue: DispatchQueue? = nil)

    Parameters

    formatters

    An array of LogFormatters to use for formatting log entries that will be recorded by the receiver.

    queue

    The DispatchQueue to use for the recorder. If nil, a new queue will be created.

  • This implementation, which does nothing, is present to satisfy the LogRecorder protocol. Subclasses must override this function to provide actual log recording functionality.

    Note

    This function is only called if one of the formatters associated with the receiver returned a non-nil string for the given LogEntry.

    Declaration

    Swift

    open override func record(message: String, for entry: LogEntry, currentQueue: DispatchQueue, synchronousMode: Bool)

    Parameters

    message

    The message to record.

    entry

    The LogEntry for which message was created.

    currentQueue

    The GCD queue on which the function is being executed.

    synchronousMode

    If true, the recording is being done in synchronous mode, and the recorder should act accordingly.