collect

collect — specifies when a line of data is considered complete.

Syntax

(collect mode [label ...])
    

Arguments

mode

One of the following:

any

Writes a line when data from any point is eligible to be written. Leaves values for all other points empty.

fill

Writes a line when data from any point is eligible to be written. Writes previous values for all other points.

all

Writes a line only after data from all points is eligible to be written.

label

An optional log or group label.

Returns

On success, t, otherwise one of the following error messages:

(error "textlog: Collection must be one of 'any', 'fill' or 'all'")
(error "textlog: Group or log label does not exist")
(error "textlog: Too few arguments to collect: # < #")
(error "textlog: Invalid command: collect")

or, if none of the above errors apply, nil.

Description

The collect command lets you specify when a line of data in a given log or group is considered complete, and ready for writing. If no label is specified, this command sets a global default value for all logs and groups. Any specific value always overrides the global definition, regardless of the order in the configuration file or when a command is sent.

The Cascade TextLogger always keeps one line of output for each log in a buffer. Whenever a point changes value, the Cascade TextLogger checks each log to see if it includes that point. If so, the TextLogger checks the collect configuration of the log. If it is any or fill and if the tolerance for that log has been exceeded, the line in the buffer gets written immediately, and this point is entered in a new line in the buffer. But if the log is configured to all, the TextLogger keeps the line in the buffer until every point in the log has changed at least once, or until a point is logged beyond the tolerance. When one of these conditions is met, the line gets written.

This command corresponds to the Cogent C API function LG_Collect.

See Also

empty, log, tolerance

Example

(collect all temp1 temp2 press1 press2)
(collect fill max_ht min_ht temp1 press1)

Also refer to the example in tolerance.