man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

vsyslog(3C)

Name

vsyslog - log message with a stdarg argument list

Synopsis

#include <syslog.h>
#include <stdarg.h>

void vsyslog(int priority, const char *message, va_list ap);

Description

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.

Examples

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());
}

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
MT-Level
Safe

See Also

syslog(3C), attributes(5)