--- lib/PXElator/CouchDB.pm 2009/08/18 21:30:55 256 +++ lib/PXElator/CouchDB.pm 2009/08/30 10:29:40 358 @@ -13,6 +13,7 @@ use Scalar::Util qw/blessed/; use Storable qw/dclone/; use Carp qw/carp/; +use POSIX; sub new { my ($class, $host, $port, $options) = @_; @@ -121,25 +122,35 @@ $url =~ s/\s+-\S+//g; # remove command line options $url =~ s/\W+/-/g; - my $time = $data->{time} = time(); + my $time = time(); - my @caller_name = ( qw/package file line sub/ ); my @caller = caller(0); + $caller[3] = (caller(1))[3]; $caller[3] =~ s{^.+::}{}; # stip package name from sub - $data->{ $caller_name[$_] } = $caller[$_] foreach ( 0 .. $#caller_name ); + $data->{package} = { + time => $time, + name => $caller[0], + line => $caller[2], + caller => $caller[3], + }; + + if ( $ENV{DEBUG} ) { + + my $caller; + my $depth = 0; + while ( my @c = caller($depth) ) { + push @$caller, [ @c ]; + $depth++; + } - my $caller; - my $depth = 0; - while ( my @c = caller($depth) ) { - push @$caller, [ @c ]; - $depth++; - } + $data->{caller} = $caller; - $data->{caller} = $caller; + } # carp 'audit ', dump($data); - $time = int($time); # reduce granularity for url +# $time = int($time); # reduce granularity for url + $time = strftime("%Y-%m-%d.%H:%M:%S", localtime $time); my $package = $caller[0]; $audit->put( "pxelator/$time.$package.$url", $data );