212 lines
5.4 KiB
Plaintext
212 lines
5.4 KiB
Plaintext
'\"macro stdmacro
|
|
.\" Copyright (c) 1983 Regents of the University of California.
|
|
.\" All rights reserved. The Berkeley software License Agreement
|
|
.\" specifies the terms and conditions for redistribution.
|
|
.\"
|
|
.\" @(#)syslog.3 6.6 (Berkeley) 5/15/86
|
|
.\"
|
|
.if n .pH man3.syslog @(#)syslog 30.3 of 2/1/86
|
|
.TH SYSLOG 3C
|
|
.UC 5
|
|
.SH NAME
|
|
syslog, openlog, closelog, setlogmask, vsyslog \- control system log
|
|
.SH SYNOPSIS
|
|
.B "#include <syslog.h>
|
|
.PP
|
|
.B "void openlog\|(const char *ident, int logopt, int facility);
|
|
.PP
|
|
.B "void syslog\|(int priority, const char *message, \f2parameters...\fP);
|
|
.PP
|
|
.B "void closelog\|(void);
|
|
.PP
|
|
.B "int setlogmask\|(int maskpri);
|
|
.PP
|
|
.B "void vsyslog\|(int priority, const char *message, va_list ap);
|
|
.SH DESCRIPTION
|
|
.I Syslog
|
|
arranges to write
|
|
.I message
|
|
onto the system log maintained by
|
|
.IR syslogd (1M).
|
|
The message is tagged with
|
|
.IR priority .
|
|
The message looks like a
|
|
.IR printf (3S)
|
|
string except that
|
|
.B %m
|
|
is replaced by the current error message (collected from
|
|
.IR errno ).
|
|
A trailing newline is added if needed.
|
|
This message will be read by
|
|
.IR syslogd (1M)
|
|
and written to the system console, log files, or forwarded to
|
|
.I syslogd
|
|
on another host as appropriate.
|
|
.I Vsyslog
|
|
is like
|
|
.I syslog
|
|
except that instead of being called with a variable number of
|
|
arguments, it is called with an argument list as defined
|
|
by
|
|
.IR stdarg (5).
|
|
.PP
|
|
Priorities are encoded as a
|
|
.I facility
|
|
and a
|
|
.IR level .
|
|
The facility describes the part of the system
|
|
generating the message.
|
|
The level is selected from an ordered list:
|
|
.IP LOG_EMERG \w'LOG_WARNING'u+3
|
|
A panic condition.
|
|
This is normally broadcast to all users.
|
|
.IP LOG_ALERT \w'LOG_WARNING'u+3
|
|
A condition that should be corrected immediately,
|
|
such as a corrupted system database.
|
|
.IP LOG_CRIT \w'LOG_WARNING'u+3
|
|
Critical conditions,
|
|
e.g., hard device errors.
|
|
.IP LOG_ERR \w'LOG_WARNING'u+3
|
|
Errors.
|
|
.IP LOG_WARNING \w'LOG_WARNING'u+3
|
|
Warning messages.
|
|
.IP LOG_NOTICE \w'LOG_WARNING'u+3
|
|
Conditions that are not error conditions,
|
|
but should possibly be handled specially.
|
|
.IP LOG_INFO \w'LOG_WARNING'u+3
|
|
Informational messages.
|
|
.IP LOG_DEBUG \w'LOG_WARNING'u+3
|
|
Messages that contain information
|
|
normally of use only when debugging a program.
|
|
.PP
|
|
If
|
|
.I syslog
|
|
cannot pass the message to
|
|
.IR syslogd ,
|
|
it will attempt to write the message on
|
|
.I /dev/console
|
|
if the LOG_CONS option is set (see below).
|
|
.PP
|
|
If special processing is needed,
|
|
.I openlog
|
|
can be called to initialize the log file.
|
|
The parameter
|
|
.I ident
|
|
is a string that is prepended to every message.
|
|
.I Logopt
|
|
is a bit field indicating logging options.
|
|
.PP
|
|
Current values for
|
|
.I logopt
|
|
are:
|
|
.IP LOG_PID \w'LOG_WARNING'u+3
|
|
log the process id with each message:
|
|
useful for identifying instantiations of daemons.
|
|
.IP LOG_CONS \w'LOG_WARNING'u+3
|
|
Force writing messages to the console if unable to send it to
|
|
.I syslogd.
|
|
This option is safe to use in daemon processes that have no controlling
|
|
terminal since
|
|
.I syslog
|
|
will fork before opening the console.
|
|
.IP LOG_ODELAY \w'LOG_WARNING'u+3
|
|
Delay opening the connection to
|
|
.I syslogd
|
|
until the first
|
|
.I syslog
|
|
call. This is the default.
|
|
.IP LOG_NDELAY \w'LOG_WARNING'u+3
|
|
Open the connection to
|
|
.I syslogd
|
|
immediately.
|
|
Useful for programs that need to manage the
|
|
order in which file descriptors are allocated.
|
|
.IP LOG_NOWAIT \w'LOG_WARNING'u+3
|
|
Don't wait for children forked to log messages on the console.
|
|
This option should be used by processes that enable notification
|
|
of child termination via SIGCHLD, as
|
|
.I syslog
|
|
may otherwise block waiting for a child whose exit status has already
|
|
been collected.
|
|
.IP LOG_PERROR \w'LOG_WARNING'u+3
|
|
Write messages to stderr as well as to
|
|
.I syslogd.
|
|
.PP
|
|
The
|
|
.I facility
|
|
parameter encodes a default facility to be assigned to all messages
|
|
that do not have an explicit facility encoded:
|
|
.IP LOG_KERN \w'LOG_WARNING'u+3
|
|
Messages generated by the kernel.
|
|
These cannot be generated by any user processes.
|
|
.IP LOG_USER \w'LOG_WARNING'u+3
|
|
Messages generated by random user processes.
|
|
This is the default facility identifier if none is specified.
|
|
.IP LOG_MAIL \w'LOG_WARNING'u+3
|
|
The mail system.
|
|
.IP LOG_DAEMON \w'LOG_WARNING'u+3
|
|
System daemons, such as
|
|
.IR routed (1M),
|
|
.IR ftpd (1M),
|
|
.IR rshd (1M),
|
|
etc.
|
|
.IP LOG_AUTH \w'LOG_WARNING'u+3
|
|
The authorization system:
|
|
.IR login (1),
|
|
.IR su (1M),
|
|
.IR getty (1M),
|
|
etc.
|
|
.IR ftpd (1M),
|
|
and
|
|
.IR rshd (1M)
|
|
also use LOG_AUTH.
|
|
.IP LOG_LPR \w'LOG_WARNING'u+3
|
|
The line printer spooling system:
|
|
.IR lpr (1),
|
|
.IR lpd (1M),
|
|
etc.
|
|
.IP LOG_NEWS \w'LOG_WARNING'u+3
|
|
The network news system.
|
|
.IP LOG_UUCP \w'LOG_WARNING'u+3
|
|
The UNIX-to-UNIX Copy system:
|
|
.IR uucp (1C),
|
|
.IR uucico (1M),
|
|
.IR uux (1C),
|
|
etc.
|
|
.IP LOG_LOCAL0 \w'LOG_WARNING'u+3
|
|
Reserved for local use.
|
|
Similarly for LOG_LOCAL1 through LOG_LOCAL7.
|
|
.PP
|
|
.I Closelog
|
|
can be used to close the log file.
|
|
.PP
|
|
.I Setlogmask
|
|
sets the log priority mask to
|
|
.I maskpri
|
|
and returns the previous mask.
|
|
Calls to
|
|
.I syslog
|
|
with a priority not set in
|
|
.I maskpri
|
|
are rejected.
|
|
The mask for an individual priority
|
|
.I pri
|
|
is calculated by the macro LOG_MASK(\f2pri\fP);
|
|
the mask for all priorities up to and including
|
|
.I toppri
|
|
is given by the macro LOG_UPTO(\f2toppri\fP).
|
|
The default allows all priorities to be logged.
|
|
|
|
.SH EXAMPLES
|
|
.nf
|
|
syslog(LOG_ALERT, "who: internal error 23");
|
|
.sp
|
|
openlog("ftpd", LOG_PID, LOG_DAEMON);
|
|
setlogmask(LOG_UPTO(LOG_ERR));
|
|
syslog(LOG_INFO, "Connection from host %d", CallingHost);
|
|
.sp
|
|
syslog(LOG_INFO|LOG_LOCAL2, "foobar error: %m");
|
|
.fi
|
|
.SH "SEE ALSO"
|
|
syslogd(1M)
|