 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Bottom of page |
|
syslog(3)
NAME
closelog, openlog, setlogmask, syslog, closelog_r, openlog_r, setlogmask_r,
syslog_r - Control system log
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <syslog.h>
void closelog(void);
void openlog(
const char *id,
int log_option,
int facility);
int setlogmask(
int mask_priority);
void syslog(
int priority,
const char *format,...);
void closelog_r(
struct syslog_data *syslog_data);
int openlog_r(
const char *id,
int log_option,
int facility,
struct syslog_data *syslog_data);
int setlogmask_r(
int mask_priority,
struct syslog_data *syslog_data);
int syslog_r(
int priority,
struct syslog_data *syslog_data,
const char *format,...);
The following function declarations do not conform to current standards and
are supported only for backward compatibility.
int openlog(
const char *id,
int log_option,
int facility);
int syslog(
int priority,
const char *format,...);
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
closelog(), openlog(), setlogmask(), syslog(): XSH4.2
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
id Specifies a string that is attached to the beginning of every
message.
log_option
Specifies logging options. Values of the log_option parameter
include:
LOG_PID Logs the process ID with each message. This option is
useful for identifying daemons.
LOG_CONS Sends messages to the console if unable to send them to
syslogd. This option is useful in daemon processes
that have no controlling terminal.
LOG_NDELAY
Opens the connection to syslogd immediately, instead of
when the first message is logged. This option is useful
for programs that need to manage the order in which
file descriptors are allocated.
[Tru64 UNIX] This option is required for programs
using the chroot system call.
LOG_ODELAY
Delays opening the connection until syslog() is called.
LOG_NOWAIT
Logs messages to the console without waiting for child
processes that are forked. Use this option for
processes that enable notification of termination of
child processes through SIGCHLD; otherwise, the
syslog() function may block, waiting for a child
process whose exit status has already been collected.
facility Specifies the facility that generated the message, which is one
of the following:
LOG_KERN [Tru64 UNIX] Messages generated by the kernel. These
cannot be generated by any user processes.
LOG_USER Messages generated by user processes. This is the
default facility when none is specified.
LOG_MAIL [Tru64 UNIX] Messages generated by the mail system.
LOG_DAEMON
[Tru64 UNIX] Messages generated by system daemons.
LOG_AUTH [Tru64 UNIX] Messages generated by the authorization
system: login, su, and so on.
LOG_LPR [Tru64 UNIX] Messages generated by the line printer
spooling system.
LOG_RFS [Tru64 UNIX] Messages generated by remote file
systems.
LOG_LOCAL0 through LOG_LOCAL7
Reserved for local use.
This parameter encodes a default facility from the previous list
to be assigned to messages that do not have an explicit facility
encoded.
priority Messages are tagged with codes indicating the type of priority
for each. The priority parameter is encoded as a facility (as
previously listed), which describes the part of the system
generating the message, and as a level, which indicates the
severity of the message. The level of severity is selected from
the following list:
LOG_EMERG A panic condition was reported to all users.
LOG_ALERT Specifies a condition to be corrected immediately, for
example, a corrupted database.
LOG_CRIT Specifies a critical conditions, for example, hard
device errors.
LOG_ERR Specifies errors.
LOG_WARNING
Specifies warning messages.
LOG_NOTICE
Specifies that it is not an error condition, but a
condition requiring special handling.
LOG_INFO Specifies general information messages.
LOG_DEBUG Specifies messages containing information useful in
debugging a program.
format [value...]
Similar to the printf fmt string, with the difference that %m is
replaced by the current error message obtained from errno. A
trailing newline can be added to the message if needed. The value
parameters are the same as the value parameters of the printf()
function. Callers of syslog() must ensure that the message is
not longer than LINE_MAX bytes. Results are unspecified if
syslog() is called with a message larger than LINE_MAX bytes.
mask_priority
Specifies a bit mask used to set the new log priority mask and
return the previous mask. The LOG_MASK and LOG_UPTO macros in the
sys/syslog.h file are used to create the priority mask.
syslog_data
[Tru64 UNIX] The closelog_r(), openlog_r(), setlogmask_r(), and
syslog_r() functions use this opaque structure.
DESCRIPTION
The syslog() function writes messages to the system log maintained by the
syslogd daemon.
The syslogd daemon reads messages and writes them to the system console or
to a log file, or forwards them to the syslogd daemon on the appropriate
host.
If the syslog() function cannot pass the message to syslogd, it writes the
message on /dev/console, provided the LOG_CONS option is set.
If special processing is required, the openlog() function can be used to
initialize the log file.
[Tru64 UNIX] If a program is using the chroot system call, the syslog
routine will not work correctly unless the program calls the openlog or
openlog_r routine prior to making the call to chroot .
The closelog() function closes the log file.
The setlogmask() function uses the bit mask in the mask_priority parameter
to set the new log priority mask and returns the previous mask. Logging is
enabled for the levels indicated by the bits in the mask that are set and
is disabled where the bits are not set. The default mask allows all
priorities to be logged. If the syslog() function is called with a
priority mask that does not allow logging of that level of message, then
the function returns without logging the message.
The log_option, facility, and priority macros are defined in the
<sys/syslog_pri.h> file.
NOTES
[Tru64 UNIX] The closelog_r(), openlog_r(), syslog_r(), and
setlogmask_r() functions use the syslog_data structure to maintain syslog
access state. They can be used in place of closelog(), openlog(), syslog(),
and setlogmask() when it is necessary to have a unique set of IDs, options,
facilities, or masks for each thread in a multithreaded application. The
data object syslog_data should be initialized to SYSLOG_DATA_INIT.
RETURN VALUES
[XSH4.2] The setlogmask() function returns the previous log priority mask.
The closelog(), openlog(), and syslog() functions return no value.
[Tru64 UNIX] The backward-compatible version of the syslog() function
returns a value of -1 if either the priority mask excludes this message
from being logged, or if an error occurs and it is impossible to send the
message to the syslogd daemon or to the system console.
[Tru64 UNIX] Upon successful completion, the backward-compatible version
of the openlog() function returns a value of 0 (zero). Otherwise, a value
of -1 is returned and errno is set to indicate the error.
RELATED INFORMATION
Functions: profil(2)
Standards: standards(5)
 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Top of page |
|