Singleton logger

L

Laszlo

Hi

I need a GL::Logger wich implements Class::Singleton
to be a singleton and Log::Log4perl to can log amy
message into a file. Here is the module source:
-------------------------------------------------------------------------
package GL::Logger;

use Class::Singleton;
use vars qw( $ERROR );
@ISA = qw(Class::Singleton);
use Log::Log4perl;
my $ERROR = '';
my $logger;

sub instance(){
my $class = shift;
my $self = bless { }, $class;
Log::Log4perl::init('c:/log4perl/log4perl.conf');
unless (defined ($self->{ $logger } = Log::Log4perl->get_logger('...'))) {
$ERROR = "Cannot get configuration file (log4perl.conf)\n";
return undef;
}
$self;
}

sub log(){
my($level, $msg) = @_;
if($level eq 'DEBUG'){
$logger->debug($msg);
}
if($level eq 'INFO'){
$logger->info($msg);
}
if($level eq 'WARN'){
$logger->warn($msg);
}
if($level eq 'ERROR'){
$logger->error($msg);
}
if($level eq 'FATAL'){
$logger->fatal($msg);
}
return 0;
}
1;
-------------------------------------------------------------------------

And this is the way how I want to use it:

-------------------------------------------------------------------------
#!perl -w
use GL::Logger;
my $logger = GL::Logger->instance();
$logger->log("ERROR", "blablabla");
-------------------------------------------------------------------------

It retunr the following error message:

Use of uninitialized value in hash element at c:/Perl/site/lib/GL/Logger.pm line 14.

What is wrong ?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top