VSYSLOG(3C) Standard C Library Functions VSYSLOG(3C)

vsyslog - log message with a stdarg argument list

#include <syslog.h>
#include <stdarg.h>
void 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.h> rather than with a variable number of arguments.

Example 1 Use vsyslog() to write an error routine.

The following example demonstrates the use of vsyslog() in writing 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(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level Safe

syslog(3C), attributes(7)

August 30, 2006 OmniOS