X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-si%2Ftests%2Flog-parser.pl;h=7a7cd5e74946c7afbbd245e4f4396a7615d99d9d;hb=c4a05533ba44c82223b7c367711763c3ed904f1d;hp=256c310f232a0dd13d10d51b1e6c6b5d99ab0a2e;hpb=a1ee27a704cad4619b1444b84c82d38e9c8f508f;p=gosa.git diff --git a/gosa-si/tests/log-parser.pl b/gosa-si/tests/log-parser.pl index 256c310f2..7a7cd5e74 100755 --- a/gosa-si/tests/log-parser.pl +++ b/gosa-si/tests/log-parser.pl @@ -21,104 +21,31 @@ use strict; use warnings; use Getopt::Long; +use Data::Dumper; +my $pattern; my $log_file = "/var/log/gosa-si-server.log"; -my $within_session = 0; -my $within_incoming = 0; -my $session; -my $incoming; -sub check_incoming { - my ($line) = @_ ; - my @line_list = split(" ", $line); - - # new incoming msg, set all values back to default - if ($line =~ /INFO: Incoming msg with session ID \d+ from/ ) { - $within_incoming = 0; - } - - if ($line =~ /INFO: Incoming msg with session ID \d+ from '$incoming'/) { - $within_incoming = 1; - return $line; - } else { - if ($within_incoming) { - return $line; - } else { - return; - } - } -} - -sub check_session { - my ($line) = @_ ; - my @line_list = split(" ", $line); - - if (not $line_list[4]) { - if ($within_session) { - return $line; - } - return; - } - - if($line_list[4] eq $session) { - $within_session = 1; - return $line; - } else { - $within_session = 0; - } - return; -} ### MAIN ###################################################################### GetOptions( - "s|session=s" => \$session, - "i|incoming=s" => \$incoming, + "p|pattern=s" => \$pattern, ); -# check script pram -my $check_script_pram = 0; -if (defined $session) { - print "session: $session\n"; - $check_script_pram++; -} -if (defined $incoming) { - print "incoming msg for mac: $incoming\n"; - $check_script_pram++; -} - -if ($check_script_pram == 0) { - # print usage and die - print "exiting script\n"; - exit(0); -} +open(FILE, "<$log_file") or die "\ncan not open log-file '$log_file'\n"; +my @lines; +my $messages = {}; -open(FILE, "<$log_file") or die "\t can not open log-file"; # Read lines -my $line; -while ($line = ){ +while ( my $line = ){ chomp($line); - my $line2print; - if (defined $session && (not defined $incoming)) { - $line2print = &check_session($line); - - } elsif (defined $incoming && (not defined $session)) { - $line2print = &check_incoming($line); - - } elsif ((defined $incoming) && (defined $session)) { - my $line1 = &check_session($line); - my $line2 = &check_incoming($line); - if ((defined $line1) && (defined $line2)) { - $line2print = $line; - } - } + + # start of a new message, plot saved log lines + if ($line =~ /$pattern/ ) { + print "$line\n"; + } - # printing - if (defined $line2print) { - print "$line\n"; - } - } - - +close FILE;