sysfatal(3) - Plan 9 from User Space

| SYSFATAL(3) | SYSFATAL(3)
| NAME
| syslog, sysfatal – system error messages
SYNOPSIS
| `#include <u.h> #include <libc.h>
` `void syslog(int cons, char *logname, char *fmt, ...)
` `void sysfatal(char *fmt, ...)`
DESCRIPTION
| Sysfatal prints to standard error the name of the running program, a colon and a space, the message described by the print(3) format string fmt and subsequent arguments, and a newline. It then calls exits(3) with the formatted message as argument. The program’s name is the value of `argv0`, which will be set if the program uses the arg(3) interface to process its arguments. If `argv0` is null, it is ignored and the following colon and space are suppressed.
Syslog logs messages in the file named by logname in the directory `/usr/lib/plan9/log ;` the file must already exist and is opened append-only. Logname must contain no slashes. The message is a line with several fields: the name of the machine writing the message; the date and time; the message specified by the print(3) format fmt and any following arguments; and a final newline. If cons is set or the log file cannot be opened, the message is also printed on the system console. Syslog can be used safely in multi-threaded programs.
SOURCE
| `/usr/lib/plan9/src/lib9/sysfatal.c /usr/lib/plan9/src/lib9/syslog.c`
SEE ALSO
| intro(3), errstr(3), the `%r` format in print(3)