Count log lines by level

Perl
#!/usr/bin/env perl
use strict;
use warnings;

my %counts;

while (my $line = <>) {
    next unless $line =~ /\b(DEBUG|INFO|WARN|ERROR)\b/;
    $counts{$1}++;
}

for my $level (sort keys %counts) {
    printf "%-5s %d\n", $level, $counts{$level};
}