The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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

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.