[Previous]
[Contents]
[Next]

syslog()

write a message to the system log

Synopsis:

#include <syslog.h>

void syslog(int priority, const char *message, ...)

Description:

The syslog() function writes message to the system message logger. The message is then written to the system console, log files, and logged-in users, or forwarded to other machines as appropriate. (See the syslogd command in the QNX Utilities Reference.)

The message is identical to a printf() format string, except that %m is replaced by the current error message (as denoted by the global variable errno). A trailing newline is added if none is present.

The vsyslog() function is an alternate form in which the arguments have already been captured using the variable-length argument facilities of varargs.

Message levels

The message is tagged with priority. Priorities are encoded as a facility and a level. The facility describes the part of the system generating the message. The level is selected from the following list (ordered from high to low):

LOG_EMERG
A panic condition. This is normally broadcast to all users.
LOG_ALERT
A condition that should be corrected immediately, such as a corrupted system database.
LOG_CRIT
Critical conditions (for example, hard device errors)
LOG_ERR
Errors.
LOG_WARNING
Warning messages.
LOG_NOTICE
Conditions that aren't error conditions, but should possibly be handled specially.
LOG_INFO
Informational messages.
LOG_DEBUG
Messages that contain information normally of use only when debugging a program.

Examples:

syslog(LOG_ALERT, "who: internal error 23");

openlog("ftpd", LOG_PID, LOG_DAEMON);
setlogmask(LOG_UPTO(LOG_ERR));
syslog(LOG_INFO, "Connection from host %d", CallingHost);

syslog(LOG_INFO|LOG_LOCAL2, "foobar error: %m");

Environment variables:

The environment variable SYSLOG is used to indicate which QNX node to Send() log messages to. The default is to look just on the local node for the syslogd daemon.

Classification:

UNIX

Safety:
Interrupt handler No
Signal handler No
Thread No

See also:

closelog(), openlog(), setlogmask(), vsyslog()

logger, syslogd in the QNX Utilities Reference


[Previous]
[Contents]
[Next]