Michael Bochkaryov
and 1 contributors

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