This is a special ostream that forwards the data that is written to it to any number of other sources, for instance other ostreams, or explicitly to a disk file or to system logging utilities. It’s a very handy thing to set Notify to refer to when running in batch mode.
bool add_file(Filename file)
Adds the given file to the multiplex output. The file is opened in append mode with line buffering. Returns false if the file cannot be opened.
void add_ostream(std::ostream *out, bool delete_later = false)
Adds the indicated generic ostream to the multiplex output. The ostream will receive whatever data is sent to the pipe.
Adds the standard output channel.
bool add_stdio_file(FILE *file, bool close_when_done)
Adds the given file, previously opened using the C stdio library, to the multiplex output.
Adds the system debug output the the multiplex output. This may map to a syslog or some such os-specific output system. It may do nothing on a particular system.
Presently, this maps only to OutputDebugString() on Windows.
Forces out all output that hasn’t yet been written.