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, @args
If $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_priority
closelog
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)