| Eidolon documentation | Contained in the Eidolon distribution. |
Eidolon::Driver::Log - Eidolon generic log driver.
Example log driver:
package MyApp::Driver::Log;
use base qw/Eidolon::Driver::Log/;
sub notice
{
my ($self, $msg) = @_;
throw DriverError::Log::Open("This is just an example!");
}
sub warning
{
my ($self, $msg) = @_;
throw DriverError::Log::Open("This is just an example!");
}
sub error
{
my ($self, $msg) = @_;
throw DriverError::Log::Open("This is just an example!");
}
The Eidolon::Driver::Log is a generic log driver for Eidolon. It declares some functions that are common for all driver types and some abstract methods, that must be overloaded in ancestor classes. All log drivers should subclass this package.
Class constructor.
Opens log handle. Abstract method, should be overloaded by the ancestor class.
Closes log handle. Abstract method, should be overloaded by the ancestor class.
Log a notice message $msg. Abstract method, should be overloaded by the
ancestor class.
Log a warning message $msg. Abstract method, should be overloaded by the
ancestor class.
Log an error message $msg. Abstract method, should be overloaded by the
ancestor class.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Anton Belousov, <abel@cpan.org>
Copyright (c) 2009, Atma 7, http://www.atma7.com
| Eidolon documentation | Contained in the Eidolon distribution. |
package Eidolon::Driver::Log; # ============================================================================== # # Eidolon # Copyright (c) 2009, Atma 7 # --- # Eidolon/Driver/Log.pm - generic log driver # # ============================================================================== use base qw/Eidolon::Driver/; use Eidolon::Driver::Log::Exceptions; use warnings; use strict; our $VERSION = "0.02"; # 2009-05-14 05:21:50 # ------------------------------------------------------------------------------ # \% new() # constructor # ------------------------------------------------------------------------------ sub new { my ($class, $self); $class = shift; $self = {}; bless $self, $class; return $self; } # ------------------------------------------------------------------------------ # open() # open log # ------------------------------------------------------------------------------ sub open { throw CoreError::AbstractMethod; } # ------------------------------------------------------------------------------ # close() # close log # ------------------------------------------------------------------------------ sub close { throw CoreError::AbstractMethod; } # ------------------------------------------------------------------------------ # notice($msg) # log notice # ------------------------------------------------------------------------------ sub notice { throw CoreError::AbstractMethod; } # ------------------------------------------------------------------------------ # warning($msg) # log warning # ------------------------------------------------------------------------------ sub warning { throw CoreError::AbstractMethod; } # ------------------------------------------------------------------------------ # error($msg) # log error # ------------------------------------------------------------------------------ sub error { throw CoreError::AbstractMethod; } 1; __END__