VSYSLOG(3) — C LIBRARY FUNCTIONS
NAME
vsyslog − log message with a varargs argument list
SYNOPSIS
#include <syslog.h>
#include <varargs.h>
int vsyslog(priority, message, ap)
char ∗message;
va_list ap;
DESCRIPTION
vsyslog() is the same as syslog(3) except that instead of being called with a variable number of arguments, it is called with an argument list as defined by varargs(3).
EXAMPLE
The following demonstrates how vsyslog() could be used to write an error routine.
#include <syslog.h>
#include <varargs.h>
...
/∗ error should be called like:
∗error(pri, function_name, format, arg1, arg2...);
∗ Note that pri, function_name, and format cannot be declared
∗ separately because of the definition of varargs.
∗/
/∗VARARGS0∗/
void
error(va_alist)
va_dcl;
{
va_list args;
int pri;
char ∗message;
va_start(args);
pri = va_arg(args, int);
/∗ log name of function causing error ∗/
(void) syslog(pri, "ERROR in %s", va_arg(args, char ∗));
message = va_arg(args, char ∗);
/∗ log remainder of message ∗/
(void) vsyslog(pri, fmt, args);
va_end(args);
(void) abort();
}
SEE ALSO
Sun Release 4.0 — Last change: 10 October 1987