---
name: "NetSDS::Logger"
section: "3pm"
platform: "linux"
package: "libnetsds-perl"
version: "1.301-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/NetSDS::Logger"
---

# NetSDS::Logger(3pm)

syslog wrapper for applications and classes

## NAME

NetSDS::Logger - syslog wrapper for applications and classes

## SYNOPSIS

```
        use NetSDS::Logger;
        my $logger = NetSDS::Logger->new(
                name => 'NetSDS-SuperDaemon',
        );
        $logger->log("info", "Syslog message here");
```

## DESCRIPTION

This module contains implementation of logging functionality for NetSDS components.

By default, messages are logged with `"local0"` facility and `"pid,ndelay,nowait"` options.

**NOTE**: `"NetSDS::Logger"` module is for internal use mostly from application frameworks like `"NetSDS::App"`, `"NetSDS::App::FCGI"`, etc.

## CLASS API

- **new(%parameters)** - constructor

  Constructor **new()** creates new logger object and opens socket with default NetSDS logging parameters.

  Arguments allowed (as hash):

  **name** - application name for identification

  ```
          Use only ASCII characters in "name" to avoid possible errors.
          Default value is "NetSDS".
  ```

  **facility** - logging facility

  ```
          Available facility values:
                  * local0..local7
                  * user
                  * daemon
          If not set 'local0' is used as default value
  ```

- **log($level, $message)** - write record to log

  Wrapper to `"syslog()"` method of Unix::Syslog module.

  Level is passed as string and may be one of the following:

  ```
          alert   - LOG_ALERT
          crit    - LOG_CRIT
          debug   - LOG_DEBUG
          emerg   - LOG_EMERG
          error   - LOG_ERR
          info    - LOG_INFO
          notice  - LOG_NOTICE
          warning - LOG_WARNING
  ```

- **DESTROY** - class destructor

  Destructor (DESTROY method) calls `"closelog()"` function. That's all.

## EXAMPLES

See NetSDS::App for example.

## SEE ALSO

Sys::Syslog

## TODO

1\. Implement logging via UDP socket.

## AUTHOR

Michael Bochkaryov \<misha@rattler.kiev.ua\>

## LICENSE

Copyright (C) 2008-2009 Net Style Ltd.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
