When no stream is explicitly selected, msg() uses the default stream, which
has registration number 0 and which is also returned by log_default_stream().
This stream has no explicit destination, but it can have substreams. (When
-a program starts, the default stream is connected to stderr; a call to log_file()
+a program starts, the default stream is connected to stderr. A call to log_file()
establishes a file logging stream and links it as the only substream of the
-default stream.)
+default stream. If you want to do that with any other log stream, call log_set_default_stream().)
Streams are reference-counted. When a stream is created, it gets reference count 1.
When it is linked as a substream of another stream, its reference count is incremented.
int main(int argc, char **argv)
{
log_init(argv[0]);
- struct log_stream *ls = log_new_file("/var/log/utterances");
+ struct log_stream *ls = log_new_file("/var/log/utterances", 0);
msg(L_INFO | ls->regnum, "Aye captain, we have a log file");
msg(L_INFO, "Alas, stderr still works");
return 0;