use Sys::Syslog; openlog $ident, $logopt, $facility; syslog $priority, $mask, $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). Sys::Syslog needs syslog.ph,
which must be created with h2ph by your system administrator.
Sys::Syslog provides these 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 making the log entry.
syslog $priority, $mask, $format, @argsIf $priority and $mask permit, logs a message formed as if by
sprintf($format, @args), with the addition that %m
is replaced with "$!" (the latest error message).
setlogmask $mask_prioritycloselogopenlog($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)