>>107026042
#!/usr/bin/env perl
use strict;
use warnings;
my $log_rx = qr/\[(\d{2}\/[a-zA-Z]{3,4}\/\d{4}):([^ ]+) [+-]\d{4}\] ([A-Z]+) ([^ ]+) HTTP.*?status=(\d{3}).*?forwarded_for="([\d.]+)(?:,.*?)?".*?req_duration_s=([\d.]+)/;
my $filter_rx = qr/(?:hooks:|\/static\/|\[INFO\]|\/media\/|favicon\.ico)/;
my $uuid_rx = qr/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;
sub normalize_url{
my ($url) = @_;
$url =~ s/\?next=//;
$url =~ s/$uuid_rx/{UUID}/;
$url =~ s/\d+(?=\/|$)/{ID}/;
$url =~ s/\?.*/{PARAMS}/;
return($url);
}
sub process_fwf{
my ($fwf) = @_;
return shift @{[split(/,/,$fwf)]};
}
while (<>) {
/$filter_rx/ and next;
chomp;
/$log_rx/ or next;
print join("\t", $1, $2, $3, normalize_url($4),$5, $6, $7), "\n";
}