log4perl.PatternLayout.cspec.S = sub { return ' ' x level_for_l4p(); }
log4perl.appender.std.layout.ConversionPattern = %-27F %3L %S%m%n
####
my $zerolevel = 8;
sub level_for_l4p {
my $level = 0;
1 while caller( $level++ );
return ( $level - $zerolevel );
}
Log::Log4perl::init( 'log4perl.conf' );
####
/My/Project/One/File.pm 12 sub0: calling sub1
/My/Project/Another/File.pm 96 sub1: entering
/My/Project/Another/File.pm 105 sub1: calling sub2
/My/Project/Elsewhere.pm 72 sub2: entering
/My/Project/Elsewhere.pm 84 sub2: leaving
/My/Project/Another/File.pm 108 sub1: continuing after sub2
/My/Project/Another/File.pm 115 sub1: leaving
/My/Project/One/File.pm 16 sub0: continuing after sub1
# etc.
####
/My/Project/One/File.pm:12: sub0: calling sub1
/My/Project/Another/File.pm:96: sub1: entering
/My/Project/Another/File.pm:105: sub1: calling sub2
/My/Project/Elsewhere.pm:72: sub2: entering
/My/Project/Elsewhere.pm:84: sub2: leaving
/My/Project/Another/File.pm:108: sub1: continuing after sub2
/My/Project/Another/File.pm:115: sub1: leaving
/My/Project/One/File.pm:16: sub0: continuing after sub1