Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

at(1)

cron(1M)

crontab(1)

fprintf(3S)

ftpd(1M)

getty(1M)

logger(1BSD)

login(1)

lpc(1M_BSD)

lpr(1BSD)

routed(1M)

su(1M)

syslogd(1M)






       syslog(3G)                                                syslog(3G)


       NAME
             syslog, openlog, closelog, setlogmask - control system log

       SYNOPSIS
             cc [flag . . . ] file . . . -lgen [library] . . .
             #include <syslog.h>
             void openlog(const char *ident, int logopt, int facility);
             void syslog(int priority, const char *message, . . . /* parameters */);
             void closelog();
             int setlogmask(int maskpri);

       DESCRIPTION
             syslog passes message to syslogd(1M), which logs it in an
             appropriate system log, writes it to the system console,
             forwards it to a list of users, or forwards it to the syslogd
             on another host over the network.  The message is tagged with
             a priority of priority.  The message looks like a printf [see
             fprintf(3S)] string except that %m is replaced by the current
             error message (collected from errno).  A trailing NEWLINE is
             added if needed.

             Priorities are encoded as a facility and a level.  The
             facility describes the part of the system generating the
             message.  The level is selected from an ordered list:

             LOG_EMERG           A panic condition.  This is normally
                                 broadcast to all users.

             LOG_ALERT           A condition that should be corrected
                                 immediately, such as a corrupted system
                                 database.

             LOG_CRIT            Critical conditions, such as hard device
                                 errors.

             LOG_ERR             Errors.

             LOG_WARNING         Warning messages.

             LOG_NOTICE          Conditions that are not error conditions,
                                 but that may require special handling.

             LOG_INFO            Informational messages.





                           Copyright 1994 Novell, Inc.               Page 1













      syslog(3G)                                                syslog(3G)


            LOG_DEBUG           Messages that contain information normally
                                of use only when debugging a program.

            If special processing is needed, openlog can be called to
            initialize the log file.  The parameter ident is a string that
            is prepended to every message.  logopt is a bit field
            indicating logging options.  Current values for logopt are:

            LOG_PID             Log the process ID with each message.
                                This is useful for identifying specific
                                daemon processes (for daemons that fork).

            LOG_CONS            Write messages to the system console if
                                they cannot be sent to syslogd.  This
                                option is safe to use in daemon processes
                                that have no controlling terminal, since
                                syslog forks before opening the console.

            LOG_NDELAY          Open the connection to syslogd
                                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.

            LOG_ODELAY          Delay open until syslog() is called.

            LOG_NOWAIT          Do not wait for child processes that have
                                been forked to log messages onto the
                                console.  This option should be used by
                                processes that enable notification of
                                child termination using SIGCHLD, since
                                syslog may otherwise block waiting for a
                                child whose exit status has already been
                                collected.

            The facility parameter encodes a default facility to be
            assigned to all messages that do not have an explicit facility
            already encoded:

            LOG_KERN            Messages generated by the kernel.  These
                                cannot be generated by any user processes.

            LOG_USER            Messages generated by random user
                                processes.  This is the default facility
                                identifier if none is specified.


                          Copyright 1994 Novell, Inc.               Page 2













       syslog(3G)                                                syslog(3G)


             LOG_MAIL            The mail system.

             LOG_DAEMON          System daemons, such as ftpd(1M),
                                 routed(1M), etc.

             LOG_AUTH            The authorization system: login(1),
                                 su(1M), getty(1M), etc.

             LOG_SYSLOG          Messages generated internally by syslogd.

             LOG_LPR             The line printer spooling system:
                                 lpr(1BSD), lpc(1M_BSD), etc.

             LOG_NEWS            Reserved for the USENET network news
                                 system.

             LOG_UUCP            Reserved for the UUCP system; it does not
                                 currently use syslog.

             LOG_LFMT            The log alert facility.

             LOG_CRON            The cron/at facility; crontab(1), at(1),
                                 cron(1M), etc.

             LOG_LOCAL0-7        Reserved for local use.

             closelog can be used to close the log file.

             setlogmask sets the log priority mask to maskpri and returns
             the previous mask.  Calls to syslog with a priority not set in
             maskpri are rejected.  The mask for an individual priority pri
             is calculated by the macro LOG_MASK(pri); the mask for all
             priorities up to and including toppri is given by the macro
             LOG_UPTO(toppri).  The default allows all priorities to be
             logged.

       EXAMPLE
             This call logs a message at priority LOG_ALERT:
                   syslog(LOG_ALERT, "who: internal error 23");

             The FTP daemon, ftpd, would make this call to openlog to
             indicate that all messages it logs should have an identifying
             string of ftpd, should be treated by syslogd as other messages
             from system daemons are, and should include the process ID of
             the process logging the message:
                   openlog("ftpd", LOG_PID, LOG_DAEMON);


                           Copyright 1994 Novell, Inc.               Page 3













      syslog(3G)                                                syslog(3G)


            Then it would make the following call to setlogmask to
            indicate that messages at priorities from LOG_EMERG through
            LOG_ERR should be logged, but that no messages at any other
            priority should be logged:
                  setlogmask(LOG_UPTO(LOG_ERR));

            Then, to log a message at priority LOG_INFO, it would make the
            following call to syslog:
                  syslog(LOG_INFO, "Connection from host %d", CallingHost);

            A locally-written utility could use the following call to
            syslog to log a message at priority LOG_INFO, to be treated by
            syslogd as other messages to the facility LOG_LOCAL2 are
            treated:
                  syslog(LOG_INFO|LOG_LOCAL2, "error: %m");

      REFERENCES
            at(1), cron(1M), crontab(1), fprintf(3S), ftpd(1M), getty(1M),
            logger(1BSD), login(1), lpc(1M_BSD), lpr(1BSD), routed(1M),
            su(1M), syslogd(1M)




























                          Copyright 1994 Novell, Inc.               Page 4








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026