948448df77b514d7098d643d86a90a9ed36b0951
[swift-upb.git] / mfold / logparse
1 #!/usr/bin/perl -w
2
3 $SERVER=shift;
4 %HOSTS = ();
5 %CHANN = ();
6 $CHANN{"#0"} = "none";
7
8 open(SRV,$ENV{"HOME"}."/.ssh/config") or die;
9 while (<SRV>) {
10     $srvname=$1 if /Host (\S+)/;
11     $HOSTS{$1}=$srvname if /HostName (\S+)/;
12 }
13 close SRV;
14
15 while (<>) {
16     /([\d\_]+) (#\d+) (\S+) (.*)/ or next;
17     my $time = $1;
18     my $channel = $2;
19     my $event = $3;
20     my $rest = $4;
21     if ($event eq "sent") {
22         $rest =~ /\d+b ([\d\.]+):/;
23         $ip = $1;
24         $CHANN{"$channel"} = $HOSTS{$ip};
25     }
26     my $host = $CHANN{"$channel"};
27     $host = "unknown" if not $host;
28     print "$time $SERVER $host$channel $event $rest\n";
29 }