diff options
Diffstat (limited to 'man3/syslog.3')
-rw-r--r-- | man3/syslog.3 | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/man3/syslog.3 b/man3/syslog.3 new file mode 100644 index 000000000..59fe02430 --- /dev/null +++ b/man3/syslog.3 @@ -0,0 +1,294 @@ +.\" Written Feb 1994 by Steve Greenland (stevegr@neosoft.com) +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" Updated 1999.12.19 by Karl M. Hegbloom <karlheg@debian.org> +.\" +.\" Updated 13 Oct 2001, Michael Kerrisk <mtk16@ext.canterbury.ac.nz> +.\" Added description of vsyslog +.\" Added descriptions of (SUSv3-specified) LOG_ODELAY and LOG_NOWAIT +.\" Added brief description of facility and option arguments +.\" Added CONFORMING TO section +.\" 2001-10-13, aeb, minor changes +.\" Modified 13 Dec 2001, Martin Schulze <joey@infodrom.org> +.\" Modified 3 Jan 2002, Michael Kerrisk <mtk16@ext.canterbury.ac.nz> +.\" +.TH SYSLOG 3 2002-01-03 "Linux" "Linux Programmer's Manual" +.SH NAME +closelog, openlog, syslog \- send messages to the system logger +.SH SYNOPSIS +.B #include <syslog.h> +.sp +.BI "void openlog(const char *" ident ", int " option ", int " facility ); +.br +.BI "void syslog(int " priority ", const char *" format ", ...);" +.br +.BI "void closelog(void);" +.sp +.B #include <stdarg.h> +.sp +.BI "void vsyslog(int " priority ", const char *" format ", va_list " ap ); +.br +.SH DESCRIPTION +.B closelog() +closes the descriptor being used to write to the system logger. The use of +.B closelog() +is optional. +.sp +.B openlog() +opens a connection to the system logger for a program. The string pointed +to by +.I ident +is prepended to every message, and is typically set to the program name. +The +.I option +argument specifies flags which control the operation of +.B openlog() +and subsequent calls to +.BR syslog() . +The +.I facility +argument establishes a default to be used if +none is specified in subsequent calls to +.BR syslog() . +Values for +.I option +and +.I facility +are given below. The use of +.B openlog() +is optional; it will automatically be called by +.B syslog() +if necessary, in which case +.I ident +will default to NULL. +.sp +.B syslog() +generates a log message, which will be distributed by +.BR syslogd (8). +The +.I priority +argument is formed by ORing the +.I facility +and the +.I level +values (explained below). The remaining arguments +are a +.IR format , +as in +.BR printf (3) +and any arguments required by the +.IR format , +except that the two character sequence %m will be replaced by +the error message string +.IR strerror ( errno ). +A trailing newline is added when needed. + +The function +.B vsyslog() +performs the same task as +.B syslog() +with the difference that it takes a set of arguments which have +been obtained using the +.BR stdarg (3) +variable argument list macros. +.SH PARAMETERS +This section lists the parameters used to set the values of +.IR option , " facility" ", and " priority . +.SS option +The +.I option +argument to +.B openlog() +is an OR of any of these: +.TP +.B LOG_CONS +Write directly to system console if there is an error while sending to +system logger. +.TP +.B LOG_NDELAY +Open the connection immediately (normally, the connection is opened when +the first message is logged). +.TP +.B LOG_NOWAIT +Don't wait for child processes that may have been created while logging +the message. (The GNU C library does not create a child process, so this +option has no effect on Linux.) +.TP +.B LOG_ODELAY +The converse of +.BR LOG_NDELAY ; +opening of the connection is delayed until +.B syslog() +is called. (This is the default, and need not be specified.) +.TP +.B LOG_PERROR +(Not in SUSv3.) Print to stderr as well. +.TP +.B LOG_PID +Include PID with each message. +.SS facility +The +.I facility +argument is used to specify what type of program is logging the message. +This lets the configuration file specify that messages from different +facilities will be handled differently. +.TP +.B LOG_AUTH +security/authorization messages (DEPRECATED Use +.B LOG_AUTHPRIV +instead) +.TP +.B LOG_AUTHPRIV +security/authorization messages (private) +.TP +.B LOG_CRON +clock daemon +.RB ( cron " and " at ) +.TP +.B LOG_DAEMON +system daemons without separate facility value +.TP +.B LOG_FTP +ftp daemon +.TP +.B LOG_KERN +kernel messages +.TP +.BR LOG_LOCAL0 " through " LOG_LOCAL7 +reserved for local use +.TP +.B LOG_LPR +line printer subsystem +.TP +.B LOG_MAIL +mail subsystem +.TP +.B LOG_NEWS +USENET news subsystem +.TP +.B LOG_SYSLOG +messages generated internally by +.B syslogd +.TP +.BR LOG_USER " (default)" +generic user-level messages +.TP +.B LOG_UUCP +UUCP subsystem + +.SS level +This determines the importance of the message. The levels are, in order +of decreasing importance: +.TP +.B LOG_EMERG +system is unusable +.TP +.B LOG_ALERT +action must be taken immediately +.TP +.B LOG_CRIT +critical conditions +.TP +.B LOG_ERR +error conditions +.TP +.B LOG_WARNING +warning conditions +.TP +.B LOG_NOTICE +normal, but significant, condition +.TP +.B LOG_INFO +informational message +.TP +.B LOG_DEBUG +debug-level message +.LP +The function +.BR setlogmask (3) +can be used to restrict logging to specified levels only. +.SH "CONFORMING TO" +The functions +.BR openlog() , +.BR closelog() , +and +.BR syslog() +(but not +.BR vsyslog() ) +are specified in SUSv2 and POSIX 1003.1-2001. +POSIX 1003.1-2001 specifies only the +.B LOG_USER +and +.BR LOG_LOCAL* +values for +.IR facility . +However, with the exception of +.BR LOG_AUTHPRIV +and +.BR LOG_FTP , +the other +.I facility +values appear on most Unix systems. +The +.B LOG_PERROR +value for +.I option +is not specified by POSIX 1003.1-2001, but is available +in most versions of Unix. +.SH HISTORY +A +.B syslog +function call appeared in BSD 4.2. +BSD 4.3 documents +.IR openlog (), +.IR syslog (), +.IR closelog (), +and +.IR setlogmask (). +4.3BSD-Reno also documents +.IR vsyslog (). +Of course early v* functions used the +.I <varargs.h> +mechanism, which is not compatible with +.IR <stdarg.h> . +.SH NOTES +The parameter +.I ident +in the call of +.B openlog() +is probably stored as-is. Thus, if the string it points to +is changed, +.B syslog() +may start prepending the changed string, and if the string +it points to ceases to exist, the results are undefined. +Most portable is to use a string constant. +.LP +Never pass a string with user-supplied data as a format, use +.RS +syslog(priority, "%s", string); +.RE +instead. +.SH "SEE ALSO" +.BR logger (1), +.BR setlogmask (3), +.BR syslog.conf (5), +.BR syslogd (8) |