--- nfo/perl/libs/Data/Storage/Handler/Abstract.pm 2003/02/20 20:19:13 1.15 +++ nfo/perl/libs/Data/Storage/Handler/Abstract.pm 2003/06/25 22:53:58 1.19 @@ -1,7 +1,20 @@ ## ------------------------------------------------------------------------ -## $Id: Abstract.pm,v 1.15 2003/02/20 20:19:13 joko Exp $ +## $Id: Abstract.pm,v 1.19 2003/06/25 22:53:58 joko Exp $ ## ------------------------------------------------------------------------ ## $Log: Abstract.pm,v $ +## Revision 1.19 2003/06/25 22:53:58 joko +## don't disconnect automagically +## +## Revision 1.18 2003/06/06 03:40:57 joko +## disabled autovivifying of arguments as attributes +## +## Revision 1.17 2003/05/13 07:58:49 joko +## fix: die if methodname is empty +## fixes to log-string +## +## Revision 1.16 2003/04/18 16:07:53 joko +## just use logger if instantiation successed +## ## Revision 1.15 2003/02/20 20:19:13 joko ## tried to get auto-disconnect working again - failed with that ## @@ -66,9 +79,12 @@ #use Data::Storage::Handler; use Hash::Merge qw( merge ); +#use Log::Dispatch::Config; +#Log::Dispatch::Config->configure(); # get logger instance -my $logger = Log::Dispatch::Config->instance; +my $logger; +eval('$logger = Log::Dispatch::Config->instance;'); #our $lock_info; @@ -77,7 +93,7 @@ my $class = ref($invocant) || $invocant; # logging info about the actual handler called - $logger->debug( "$invocant->new( @_ )" ); + $logger->debug( "$invocant->new( @_ )" ) if $logger; #$logger->debug( __PACKAGE__ . "->" . "new()" ); # V1 - arguments become properties automagically / normal perl mode blessing @@ -144,7 +160,7 @@ # handle meta data #my $metainfo = $self->getMetaInfo($class); my $metainfo = $self->getMetaInfo(); - if (!$metainfo->{disconnectMethod}) { $metainfo->{disconnectMethod} = 'disconnect'; } + #if (!$metainfo->{disconnectMethod}) { $metainfo->{disconnectMethod} = 'disconnect'; } # type? $invocant =~ s/Data::Storage::Handler:://; $metainfo->{type} = $invocant; @@ -234,6 +250,13 @@ } #=cut +=pod + if (!$methodname) { + die("Methodname is not defined!"); + return; + } +=cut + #print "$methodname - 3", "\n"; # try to dispatch method-call to Storage::Handler::* @@ -262,7 +285,11 @@ #$lock_AUTOLOAD = 1 if ($methodname eq 'insert'); if (!$self->{lock_info}->{log_lock}) { #print "method: $methodname", "\n"; - $logger->debug( __PACKAGE__ . "[$self->{metainfo}->{type}]" . "->" . $methodname . "(@_)" ); + my $type = $self->{metainfo}->{type}; + $type ||= ''; + # FIXME! + #$logger->debug( __PACKAGE__ . "[$type]" . "->" . $methodname . "(@_)" ); + $logger->debug( __PACKAGE__ . "[$type]" . "->" . $methodname ); } else { # AUTOLOAD - sub is locked to prevent deep recursions if (e.g.) db-inserts cause log-actions to same db itself }