Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

logger(1)

login(1)

lpr(1)

lpc(1M)

syslogd(1M)

printf(3S)

syslog(3)

at(1)

crontab(1)

login(1)

ftpd(1M)

routed(1M)

getty(1M)

cron(1M)

su(1)

printf(3S)



syslog(3)          UNIX System V(BSD Compatibility Package)           syslog(3)


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

SYNOPSIS
      cc [ flag. . . ] file . . . -lucb

      #include <syslog.h>

      openlog(ident, logopt, facility)
      char *ident;

      syslog(priority, message, parameters ... )
      char *message;

      closelog()

      setlogmask(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(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.

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



10/89                                                                    Page 1







syslog(3)          UNIX System V(BSD Compatibility Package)           syslog(3)


      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_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.

            LOG_MAIL            The mail system.

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

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

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





Page 2                                                                    10/89







syslog(3)          UNIX System V(BSD Compatibility Package)           syslog(3)


            LOG_NEWS            Reserved for the USENET network news system.

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

            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);

      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");

SEE ALSO
      logger(1), login(1), lpr(1), lpc(1M), syslogd(1M), printf(3S)




10/89                                                                    Page 3







syslog(3)          UNIX System V(BSD Compatibility Package)           syslog(3)


      at(1), crontab(1), login(1) in the User's Reference Manual
      ftpd(1M), routed(1M) in the Network User's and Administrator's Guide
      getty(1M), cron(1M), su(1), in the System Administrator's Reference
      Manual
      printf(3S) in the Programmer's Reference Manual

















































Page 4                                                                    10/89





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