Programming Perl

Programming PerlSearch this book
Previous: 7.2.62 Sys::Hostname - Try Every Conceivable Way to Get HostnameChapter 7
The Standard Perl Library
Next: 7.2.64 Term::Cap - Terminal Capabilities Interface
 

7.2.63 Sys::Syslog - Perl Interface to UNIX syslog(3) Calls

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

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

closelog

Closes the log file.

7.2.63.1 Examples

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)


Previous: 7.2.62 Sys::Hostname - Try Every Conceivable Way to Get HostnameProgramming PerlNext: 7.2.64 Term::Cap - Terminal Capabilities Interface
7.2.62 Sys::Hostname - Try Every Conceivable Way to Get HostnameBook Index7.2.64 Term::Cap - Terminal Capabilities Interface