Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
interface to the UNIX syslog(3) calls
SYNOPSIS
use Sys::Syslog;
openlog $ident, $logopt, $facility;
syslog $priority, $format, @args;
$oldmask = setlogmask $mask_priority;
closelog;
DESCRIPTION
Sys::Syslog is an interface to the UNIX syslog(3) program.
Call syslog() with a string priority and a list of
printf() args just like syslog(3).
Syslog provides the functions:
openlog $ident, $logopt, $facility
$ident is prepended to every message. $logopt
contains one or more of the words pid, ndelay, cons,
nowait. $facility specifies the part of the system
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).
setlogmask $mask_priority
Sets log mask $mask_priority and returns the old
mask.
setlogsock $sock_type (added in 5.004_03) Sets the
socket type to be used for the next call to openlog()
or syslog(). A value of 'unix' will connect to the
UNIX domain socket returned by _PATH_LOG in
syslog.ph. If syslog.ph fails to define _PATH_LOG,
setlogsock returns undef; otherwise a true value is
returned. A value of 'inet' will connect to an INET
socket returned by getservbyname(). Any other value
croaks.
The default is for the INET socket to be used.
closelog
Closes the log file.
Note that openlog now takes three arguments, just like
openlog(3).
EXAMPLES
syslog('info', 'this is another test');
syslog('mail|warning', 'this is a better test: %d', time);
closelog();
syslog('debug', 'this is the last test');
setlogsock('unix');
openlog("$program $$", 'ndelay', 'user');
syslog('notice', 'fooprogram: this is really done');
setlogsock('inet');
$! = 55;
syslog('info', 'problem was %m'); # %m == $! in syslog(3)
DEPENDENCIES
Sys::Syslog needs syslog.ph, which can be created with
h2ph.
SEE ALSO
the syslog(3) manpage
AUTHOR
Tom Christiansen <tchrist@perl.com> and Larry Wall
<larry@wall.org>. UNIX domain sockets added by Sean
Robinson <robinson_s@sc.maricopa.edu> with support from
Tim Bunce <Tim.Bunce@ig.co.uk> and the perl5-porters
mailing list.