vsyslog(3)
NAME
vsyslog − log message with a varargs argument list
SYNOPSIS
#include <syslog.h>
#include <varargs.h>
int vsyslog(int priority, const 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(5).
EXAMPLES
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, msg, args);
va_end(args);
(void) abort();
}
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | Safe |
SEE ALSO
syslog(3), attributes(5), varargs(5)
SunOS 5.6 — Last change: 29 Dec 1996