diff options
Diffstat (limited to 'scripts/maint/checkLogs.pl')
-rwxr-xr-x | scripts/maint/checkLogs.pl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/maint/checkLogs.pl b/scripts/maint/checkLogs.pl new file mode 100755 index 0000000000..b00503e9ab --- /dev/null +++ b/scripts/maint/checkLogs.pl @@ -0,0 +1,51 @@ +#!/usr/bin/perl -w + +use strict; + +my %count = (); +my $more = 0; +my $last = ""; + +while (<>) { + if ($more) { + if (/LD_BUG/) { + $more = 0; + next; + } + if (/\"((?:[^\"\\]+|\\.*)+)\"(.*)/) { + $last .= $1; + if ($2 !~ /[,\)]/) { + $more = 1; + } else { + $count{lc $last}++; + $more = 0; + } + } elsif (/[,\)]/) { + $count{lc $last}++; + $more = 0; + } elsif ($more == 2) { + print "SKIPPED more\n"; + } + } elsif (/log_(?:warn|err|notice)\(\s*(LD_[A-Z_]*)\s*,\s*\"((?:[^\"\\]+|\\.)*)\"(.*)/) { + next if ($1 eq 'LD_BUG'); + my $s = $2; + if ($3 =~ /[,\)]/ ) { + $count{lc $s}++; + } else { + $more = 1; + $last = $s; + } + } elsif (/log_(?:warn|err|notice)\(\s*((?:LD_[A-Z_]*)?)(.*)/) { + next if ($1 eq 'LD_BUG'); + my $extra = $2; + chomp $extra; + $last = ""; + $more = 2 if ($extra eq ''); + } +} + +while ((my $phrase, my $count) = each %count) { + if ($count > 1) { + print "$count\t$phrase\n"; + } +} |