Send a message to the system logger
#include <stdio.h> #include <sys/slog.h> int slogf( int opcode, int severity, const char * fmt, ... );
The major and minor codes are defined in <sys/slogcodes.h>.
The formatting characters that you use in the message determine any additional arguments.
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
This function is in libc.a, but not in libc.so (in order to save space). |
The slog*() functions send log messages to the system logger, slogger. To send formatted messages, use slogf(). If you have programs that scan log files for specified codes, you can use slogb() or slogi() to send a block of structures or int's, respectively.
The vslogf() function is an alternate form in which the arguments have already been captured using the variable-length argument facilities of <stdarg.h>.
There are eight levels of severity defined. The lowest severity is 7 and the highest is 0. The default is 7.
Manifest Name | Severity value | Description |
---|---|---|
_SLOG_SHUTDOWN | 0 | Shut down the system NOW (e.g. for OEM use) |
_SLOG_CRITICAL | 1 | Unexpected unrecoverable error (e.g. hard disk error) |
_SLOG_ERROR | 2 | Unexpected recoverable error (e.g. needed to reset a hardware controller) |
_SLOG_WARNING | 3 | Expected error (e.g. parity error on a serial port) |
_SLOG_NOTICE | 4 | Warnings (e.g. out of paper) |
_SLOG_INFO | 5 | Information (e.g. printing page 3) |
_SLOG_DEBUG1 | 6 | Debug messages (normal detail) |
_SLOG_DEBUG2 | 7 | Debug messages (fine detail) |
The size of the message sent to slogger, or -1 if an error occurs.
Any value from the Errors section in MsgSend(), as well as:
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/slog.h> #include <sys/slogcodes.h> int main() { int i; for(i = 0 ; ; i++) { switch(rand() % 3) { case 0: slogb( _SLOG_SETCODE(_SLOGC_TEST, 0), _SLOG_DEBUG1, &i, sizeof(i)); break; case 1: slogi( _SLOG_SETCODE(_SLOGC_TEST, 1), _SLOG_CRITICAL, 1, i); break; case 2: slogf( _SLOG_SETCODE(_SLOGC_TEST, 2), _SLOG_ERROR, "This is number %d", i); break; } sleep(1); } }
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
slogger, sloginfo in the Utilities Reference