---
name: "Logger::Syslog"
section: "3pm"
platform: "linux"
package: "liblogger-syslog-perl"
version: "1.1-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Logger::Syslog"
---

# Logger::Syslog(3pm)

## NAME

Logger::Syslog -- an intuitive wrapper over Syslog for Perl

## DESCRIPTION

You want to deal with syslog, but you don't want to bother with Sys::Syslog,  that module is for you.

Logger::Syslog takes care of everything regarding the Syslog communication, all you have to do is to use the function you need to send a message to syslog.

Logger::Syslog provides one function per Syslog message level: debug, info,  warning, error, notice, critic, alert.

## NOTES

Logger::Syslog is compliant with mod\_perl, all you have to do when using it  in such an environment is to call **logger\_init()** at the beginning of your CGI, that will garantee that everything will run smoothly (otherwise, issues with  the syslog socket can happen in mod\_perl env).

## SYNOPSIS

```
    use Logger::Syslog;
    info("Starting at ".localtime());
    ...
    if ($error) {
        error("An error occured!");
        exit 1;
    }
    ...
    notice("There something to notify");
```

## FUNCTIONS

### logger\_init

Call this to explicitly open a Syslog socket. You can optionally specify  a Syslog facility.

That function is called when you use the module, if you're not in a mod\_perl  environment.

Examples:

```
    # open a syslog socket with default facility (user)
    logger_init();
    # open a syslog socket on the 'local' facility
    logger_init('local');
```

### logger\_close

Call this to close the Syslog socket.

That function is called automatically when the calling program exits.

### logger\_prefix

That function lets you set a string that will be prefixed to every  messages sent to syslog.

Example:

```
    logger_prefix("my program");
    info("starting");
    ...
    info("stopping");
```

### logger\_set\_default\_facility(facility)

You can choose which facility to use, the default one is "user".  Use that function if you want to switch smoothly from a facility to another.

That function will close the existing socket and will open a new one with the appropriate facility.

Example:

```
    logger_set_default_facility("cron");
```

## LOGGING

Logger::Syslog provides one function per Syslog level to let you send messages. If you want to send a debug message, just use **debug()**, for a warning, use **warning()** and so on...

All those function have the same signature : thay take a string as their only argument, which is the message to send to syslog.

Examples:

```
    debug("my program starts at ".localtime());
    ...
    warning("some strange stuff occured");
    ...
    error("should not go there !");
    ...
    notice("Here is my notice");
```

## LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## COPYRIGHT

This program is copyright 2004-2006 Alexis Sukrieh

## AUTHOR

Alexis Sukrieh \<sukria@sukria.net\>

Very first versions were made at Cegetel (2004-2005) ; Thomas Parmelan gave a hand for the mod\_perl support.
