Sys::Syslog(3)         Perl Programmers Reference Guide         Sys::Syslog(3)

       Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl interface to
       the UNIX syslog(3) calls

           use Sys::Syslog;                          # all except setlogsock, or:
           use Sys::Syslog qw(:DEFAULT setlogsock);  # default set, plus setlogsock

           setlogsock $sock_type;
           openlog $ident, $logopt, $facility;       # don't forget this
           syslog $priority, $format, @args;
           $oldmask = setlogmask $mask_priority;

       Sys::Syslog is an interface to the UNIX syslog(3) program.  Call "sys-
       log()" with a string priority and a list of "printf()" args just like

       Syslog provides the functions:

       openlog $ident, $logopt, $facility
           $ident is prepended to every message.  $logopt contains zero or
           more of the words pid, ndelay, nowait.  The cons option is ignored,
           since the failover mechanism will drop down to the console automat-
           ically if all other media fail.  $facility specifies the part of
           the system to report about, for example LOG_USER or LOG_LOCAL0: see
           your syslog(3) documentation for the facilities available in your

           You should use openlog() before calling syslog().

       syslog $priority, $format, @args
           If $priority permits, logs ($format, @args) printed as by
           "printf(3V)", with the addition that %m is replaced with "$!" (the
           latest error message).

           If you didn't use openlog() before using syslog(), syslog will try
           to guess the $ident by extracting the shortest prefix of $format
           that ends in a ":".

       setlogmask $mask_priority
           Sets log mask $mask_priority and returns the old mask.

       setlogsock $sock_type [$stream_location] (added in 5.004_02)
           Sets the socket type to be used for the next call to "openlog()" or
           "syslog()" and returns TRUE on success, undef on failure.

           A value of 'unix' will connect to the UNIX domain socket (in some
           systems a character special device) returned by the "_PATH_LOG"
           macro (if your system defines it), or /dev/log or /dev/conslog,
           whatever is writable.  A value of 'stream' will connect to the
           stream indicated by the pathname provided as the optional second
           parameter.  (For example Solaris and IRIX require 'stream' instead
           of 'unix'.)  A value of 'inet' will connect to an INET socket
           (either tcp or udp, tried in that order) returned by getservby-
           name(). 'tcp' and 'udp' can also be given as values. The value
           'console' will send messages directly to the console, as for the
           'cons' option in the logopts in openlog().

           A reference to an array can also be passed as the first parameter.
           When this calling method is used, the array should contain a list
           of sock_types which are attempted in order.

           The default is to try tcp, udp, unix, stream, console.

           Giving an invalid value for sock_type will croak.

           Closes the log file.

       Note that "openlog" now takes three arguments, just like openlog(3).

           openlog($program, 'cons,pid', 'user');
           syslog('info', 'this is another test');
           syslog('mail|warning', 'this is a better test: %d', time);

           syslog('debug', 'this is the last test');

           openlog("$program $$", 'ndelay', 'user');
           syslog('notice', 'fooprogram: this is really done');

           $! = 55;
           syslog('info', 'problem was %m'); # %m == $! in syslog(3)

           # Log to UDP port on $remotehost instead of logging locally
           $Sys::Syslog::host = $remotehost;
           openlog($program, 'ndelay', 'user');
           syslog('info', 'something happened over here');


       Tom Christiansen <> and Larry Wall <>.

       UNIX domain sockets added by Sean Robinson <>
       with support from Tim Bunce <> and the perl5-porters
       mailing list.

       Dependency on replaced with XS code by Tom Hughes <tom@comp->.

       Code for constant()s regenerated by Nicholas Clark <>.

       Failover to different communication modes by Nick Williams

perl v5.8.6                       2001-09-21                    Sys::Syslog(3)