syslog(3C)syslog(3C)NAMEsyslog(), openlog(), closelog(), setlogmask() - control system log
The ANSI C "" construct denotes a variable length argument list whose
optional [or required] members are given in the associated comment
writes a message onto the system log maintained by
(see syslogd(1M)). The message is tagged with priority.
The message is similar to a printf(3S) format string
except that is replaced by the error message associated
with the current value of A trailing newline is added if
This message is read by and written to the system con‐
sole, log files, selected users' terminals, or forwarded
to on another host as appropriate.
priority is encoded as the logical OR of a level and a
facility. The level signifies the urgency of the mes‐
sage, and facility signifies the subsystem generating
the message. facility can be encoded explicitly in pri‐
ority, or a default facility can be set with (see
level is selected from an ordered list:
A panic condition. This is normally broadcast to
A condition that should be corrected immediately,
such as a corrupted system
Critical conditions, such as hard device errors.
Conditions that are not error conditions,
but should possibly be handled
Messages that contain information
normally of use only when
debugging a program.
does not log a message that does not have a level set.
If cannot pass the message to it attempts to write the
message on if the option is set (see below).
can be called to initialize the log file,
if special processing is needed. ident is a string that
precedes every message. logopt is a mask of bits, logi‐
cally OR'ed together, indicating logging options. The
values for logopt are:
Log the process ID with each message; useful
for identifying instantiations
Force writing messages to the console if unable to
send it to
This option is safe to use in
daemon processes that have no
controlling terminal because
forks before opening the con‐
Open the connection to
immediately. Normally, the
open is delayed until the first
message is logged. This is
useful for programs that need
to manage the order in which
file descriptors are allocated.
Do not wait for children forked to log messages on
This option should be used by
processes that enable notifica‐
tion of child termination via
because might otherwise block,
waiting for a child whose exit
status has already been col‐
facility encodes a default facility to be assigned to
all messages written subsequently by with no explicit
Messages generated by the kernel.
These cannot be generated by
any user processes.
Messages generated by random user processes.
This is the default facility
identifier if none is speci‐
The mail system.
System daemons, such as
inetd(1M), ftpd(1M), etc.
The authorization system:
login(1), su(1), getty(1M),
Messages generated internally by
The line printer spooling system:
lp(1), lpsched(1M), etc.
Messages generated by the
Messages generated by the UUCP system.
Messages generated by the CRON daemon.
Reserved for local use.
Similarly for through
facility and level uses an encoded code for logging in
message. The encoded code for facility and level are as
closes the log file.
sets the log priority mask to
maskpri and returns the previous mask. Calls to with a
priority not set in maskpri are rejected. The mask for
an individual priority pri is calculated by the macro ;
the mask for all priorities up to and including toppri
is given by the macro (toppri). By default, all priori‐
ties are logged.
fails if any of the following conditions are encountered:
The named pipe is blocked for writing.
The named pipe bold) could not be opened successfully.
logs a message regarding some sort of unexpected and serious error:
uses to arrange to log its process ID, to log to the console if neces‐
sary, and to log in the name of the daemon facility:
Arrange to log messages only at levels and lower:
Typical usage of to log a connection:
If the facility has not been set with it defaults to
Explicitly set the facility for this message:
A call to has no effect unless the syslog daemon is running (see sys‐
logd(1M)). does not copy and store the ident string internally; it
stores only a character pointer. Therefore it is the responsibility of
the programmer to make sure that the ident argument points to the cor‐
rect string until the log file is closed.
was developed by the University of California, Berkeley.
SEE ALSOlogger(1), syslogd(1M), thread_safety(5).