[Chapter 7] 7.2.63 Sys::Syslog - Perl Interface to UNIX syslog(3) Calls
Author: Larry Wall, Tom Christiansen & Randal L. Schwartz
Date: 1999-07-02T02:04:16Z

#

| Chapter 7 The Standard Perl Library |

### 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)

7.2.62 Sys::Hostname - Try Every Conceivable Way to Get Hostname |  | 7.2.64 Term::Cap - Terminal Capabilities Interface