NAME

XAS::Lib::Daemon::Logger - A Perl extension for the XAS environment

SYNOPSIS

use XAS::System;
use XAS::Lib::Daemon::Logger

my $log = XAS::System->module(
    logger => {
        -debug => $debug,
        -logfile => $logfile
   }
);

my $logger = XAS::Lib::Daemon::Logger->new(
    -alias  => 'logger',
    -logger => $log,
);

DESCRIPTION

This module allows for multiple, asynchronous POE sessions to write to a common log file. It uses a predefined logger to write the log entries. This logger should have the following methods: debug, info, warn, error, fatal.

METHODS

new

This method initializes the module and takes two parameters.

-alias

The alias for this session.

-logger

The configured logging object.

PUBLIC EVENTS

This module supports the following events: debug, info, warn, error, fatal. To generate those events, someplace in your modules you would have this:

$poe_kernel->post($logger, $level, $message);

Where $logger would be the session name of the logger, $level would be one of the events and $message would the the entry to write to the log file.

debug

When triggered this event will call the "debug" method of the defined logger. Passing that method the supplied log entry.

info

When triggered this event will call the "info" method of the defined logger. Passing that method the supplied log entry.

warn

When triggered this event will call the "warn" method of the defined logger. Passing that method the supplied log entry.

error

When triggered this event will call the "error" method of the defined logger. Passing that method the supplied log entry.

fatal

When triggered this event will call the "fatal" method of the defined logger. Passing that method the supplied log entry.

SEE ALSO

XAS::Base
XAS::Class
XAS::Constants
XAS::Exception
XAS::System
XAS::Utils

XAS::Apps::Base::Alerts
XAS::Apps::Base::Collector
XAS::Apps::Base::ExtractData
XAS::Apps::Base::ExtractGlobals
XAS::Apps::Base::RemoveData
XAS::Apps::Database::Schema
XAS::Apps::Templates::Daemon
XAS::Apps::Templates::Generic
XAS::Apps::Test::Echo::Client
XAS::Apps::Test::Echo::Server
XAS::Apps::Test::RPC::Client
XAS::Apps::Test::RPC::Methods
XAS::Apps::Test::RPC::Server

XAS::Collector::Alert
XAS::Collector::Base
XAS::Collector::Connector
XAS::Collector::Factory

XAS::Lib::App
XAS::Lib::App::Daemon
XAS::Lib::App::Daemon::POE
XAS::Lib::Connector
XAS::Lib::Counter
XAS::Lib::Daemon::Logger
XAS::Lib::Daemon::Logging
XAS::Lib::Gearman::Admin
XAS::Lib::Gearman::Admin::Status
XAS::Lib::Gearman::Admin::Worker
XAS::Lib::Gearman::Client
XAS::Lib::Gearman::Client::Status
XAS::Lib::Gearman::Worker
XAS::Lib::Net::Client
XAS::LIb::Net::Server
XAS::Lib::RPC::JSON::Client
XAS::Lib::RPC::JSON::Server
XAS::Lib::Session
XAS::Lib::Spool

XAS::Model::Database
XAS::Model::Database::Alert
XAS::Model::Database::Counter
XAS::Model::DBM

XAS::Monitor::Base
XAS::Monitor::Database
XAS::Monitor::Database::Alert

XAS::Scheduler::Base

XAS::System::Alert
XAS::System::Email
XAS::System::Environment
XAS::System::Logger

AUTHOR

Kevin L. Esteb, <kevin@kesteb.us>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Kevin L. Esteb

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.