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 ? -------------------------------------------- Laszlo Graf
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>