NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO
#include <syslog.h> #include <stdarg.h>int vsyslog(int priority, const char *message, va_list ap);
The vsyslog() function is identical to syslog(3C), except that it is called with an argument list as defined by stdarg(3HEAD) rather than with a variable number of arguments.
The following demonstrates how vsyslog() can be used to write an error routine.
#include <syslog.h>
#include <stdarg.h>
/*
* error should be called like:
* error(pri, function_name, format, arg1, arg2...);
*/
void
error(int pri, char *function_name, char *format, ...)
{
va_list args;
va_start(args, format);
/* log name of function causing error */
(void) syslog(pri, "ERROR in %s.", function_name);
/* log remainder of message */
(void) vsyslog(pri, format, args);
va_end(args);
(void) abort( );
}
main()
{
error(LOG_ERR, "main", "process %d is dying", getpid());
}
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|---|---|
| MT-Level | Safe |
NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO