NetSDS::Logger.3pm

Langue: en

Version: 2010-05-26 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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