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

use Sys::Syslog;
openlog $ident, $logopt, $facility;
syslog $priority, $format, @args;
$oldmask = setlogmask $mask_priority;
closelog;

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:
$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
If $priority permits, logs ($format, @args) printed as by printf(3V), with the addition that %m is replaced with "$!" (the latest error message).
Sets log mask $mask_priority and returns the old mask.
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);
closelog();
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)

Sys::Syslog needs syslog.ph, which can be created with h2ph.


Tom Christiansen <tchrist@perl.com> and Larry Wall <lwall@sems.com>