my $status = -1;
eval {
my $handler = sub {
- my $c = $class->prepare($r);
+ my $c = $class->prepare($r);
+ $c->{stats} = [];
my $action = $c->req->action;
my $namespace = '';
$namespace = ( join( '/', @{ $c->req->args } ) || '/' )
{
$c->state( $c->execute( @{ $end->[0] } ) );
}
+ my @stats = @{ $c->{stats} };
+ $c->log->debug( 'Processed', @stats )
+ if ( @stats && $c->debug );
}
else {
my $path = $c->req->path;
my @params;
for my $key ( keys %{ $c->req->params } ) {
my $value = $c->req->params->{$key} || '';
- push @params, "$key=$value";
+ push @params, " $key=$value";
}
- $c->log->debug( 'Parameters are', @params );
+ $c->log->debug( 'Parameters', @params );
}
$c->prepare_uploads;
return $c;
eval {
if ( $c->debug )
{
- my $action = $c->actions->{reverse}->{"$code"} || "$code";
+ my $action = $c->actions->{reverse}->{"$code"};
+ $action = "/$action" unless $action =~ /\-\>/;
my ( $elapsed, @state ) =
$c->benchmark( $code, $class, $c, @{ $c->req->args } );
- $c->log->info( sprintf qq/Processing "$action" took %fs/, $elapsed )
- if $c->debug;
+ push @{ $c->{stats} },
+ _prettify( $action, sprintf( '%fs', $elapsed ), '' );
$c->state(@state);
}
else { $c->state( &$code( $class, $c, @{ $c->req->args } ) ) }
if ( $flags{regex} =~ /^"(.*)"$/ ) { $flags{regex} = $1 }
}
- my $reverse = $prefix ? "$method ($prefix)" : $method;
+ my $reverse = $prefix ? "$prefix/$method" : $method;
if ( $flags{local} || $flags{global} || $flags{path} ) {
my $path = $flags{path} || $method;
$self->components->{ ref $comp } = $comp;
$self->setup_actions($comp);
}
- my @comps = keys %{ $self->components };
+ my @comps;
+ push @comps, " $_" for keys %{ $self->components };
$self->log->debug( 'Loaded components', @comps )
if ( @comps && $self->debug );
my $actions = $self->actions;
my $uid = $parent->getUID;
for my $action ( keys %{ $actions->{private}->{$uid} } ) {
my ( $class, $code ) = @{ $actions->{private}->{$uid}->{$action} };
- push @$messages, qq/"$prefix$action" in "$class" as "$code"/;
+ push @$messages, _prettify( "$prefix$action", $class, $code );
}
$walker->( $walker, $_, $messages, $prefix )
for $parent->getAllChildren;
$walker->( $walker, $self->tree, \@messages, '' );
$self->log->debug(@messages) if ( $#messages && $self->debug );
@messages = ('Loaded plain actions');
- for my $plain ( keys %{ $actions->{plain} } ) {
+ for my $plain ( sort keys %{ $actions->{plain} } ) {
my ( $class, $code ) = @{ $actions->{plain}->{$plain} };
- push @messages, qq|"/$plain" in "$class" as "$code"|;
+ push @messages, _prettify( "/$plain", $class, $code );
}
$self->log->debug(@messages) if ( $#messages && $self->debug );
@messages = ('Loaded regex actions');
- for my $regex ( keys %{ $actions->{regex} } ) {
+ for my $regex ( sort keys %{ $actions->{regex} } ) {
my ( $class, $code ) = @{ $actions->{regex}->{$regex} };
- push @messages, qq|"$regex" in "$class" as "$code"|;
+ push @messages, _prettify( $regex, $class, $code );
}
$self->log->debug(@messages) if ( $#messages && $self->debug );
}
return $prefix;
}
+sub _prettify {
+ my ( $val1, $val2, $val3 ) = @_;
+ formline
+' @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @>>>>>>>>>>>>>> ',
+ $val1, $val2, $val3;
+ my $formatted = $^A;
+ $^A = '';
+ return $formatted;
+}
+
=back
=head1 AUTHOR