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 /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 writ-
          ing 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
          /src/lib9/sysfatal.c
          /src/lib9/syslog.c

     SEE ALSO
          intro(3), errstr(3), the %r format in print(3)