X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-si%2Ftests%2Flog-parser.pl;h=7a7cd5e74946c7afbbd245e4f4396a7615d99d9d;hb=c4a05533ba44c82223b7c367711763c3ed904f1d;hp=6b9e6c2dbd0f3e4e05c1a8f47745b21061b09ac5;hpb=cd74a990b2943a6333a3e46829d4c9889ebe8702;p=gosa.git diff --git a/gosa-si/tests/log-parser.pl b/gosa-si/tests/log-parser.pl index 6b9e6c2db..7a7cd5e74 100755 --- a/gosa-si/tests/log-parser.pl +++ b/gosa-si/tests/log-parser.pl @@ -23,159 +23,29 @@ use warnings; use Getopt::Long; use Data::Dumper; -my $log_file = "/home/hickert/log.gosa-si-server"; -#my $log_file = "/var/log/gosa-si-server.log"; -my $within_session = 0; -my $within_incoming = 0; -my $within_header = 0; -my $session; -my $incoming; -my $header; -my $syslog_state; - -sub check_syslog_state { - my ($line) = @_ ; - if($line =~ /$syslog_state:/ ) { - return $line; - } - return; -} - -sub check_header { - my ($line) = @_ ; - - # new header, set all values back to default - if ($line =~ /INFO: Incoming msg with header/ ) { - $within_header = 0; - } - - if ($line =~ /INFO: Incoming msg with header '$header'/) { - $within_header = 1; - return $line; - } else { - if ($within_header) { return $line; } - } - return; -} - -sub check_incoming { - my ($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; } - } - return; -} - -sub check_session { - my ($line) = @_ ; - - if ($line =~ /gosa-si-server (\d+) / ) { - if ((defined $1) && ($1 eq $session)) { - $within_session = 1; - return $line; - } else { $within_session = 0; } - } else { - if ($within_session == 1) { return $line; } - } - return; -} - +my $pattern; +my $log_file = "/var/log/gosa-si-server.log"; ### MAIN ###################################################################### GetOptions( - "s|session=s" => \$session, - "i|incoming=s" => \$incoming, - "h|header=s" => \$header, - "l|log=s" => \$syslog_state, + "p|pattern=s" => \$pattern, ); -# check script pram -my $script_pram = {}; -if (defined $session) { - print "session: $session\n"; - $script_pram->{'session'} = $session; - } -if (defined $incoming) { - print "incoming: $incoming\n"; - $script_pram->{'incoming'} = $incoming; -} -if (defined $header) { - print "header: $header\n"; - $script_pram->{'header'} = $header; -} -if (defined $syslog_state) { - print "syslog_state: $syslog_state\n"; - $script_pram->{'syslog_state'} = $syslog_state; -} - -if (keys(%$script_pram) == 0) { - # print usage and die - print "exiting script\n"; - exit(0); -} - -open(FILE, "<$log_file") or die "\t can not open log-file"; +open(FILE, "<$log_file") or die "\ncan not open log-file '$log_file'\n"; my @lines; -my $positive_msg = 0; +my $messages = {}; + # Read lines while ( my $line = ){ chomp($line); - + # start of a new message, plot saved log lines - if ($line =~ /INFO: Incoming msg with session ID \d+ from / ) { - if ($positive_msg) { - print "#####################################################\n"; - print join("\n", @lines)."\n"; - } - - $positive_msg = 0; - $within_session = 0; - $within_header = 0; - $within_incoming = 0; - @lines = (); - } - - push (@lines, $line); - - my $positiv_counter = 0; - while (my ($pram, $val) = each %$script_pram) { - if ($pram eq 'session') { - my $l = &check_session($line); - if (defined $l) { $positiv_counter++; } - } - - elsif ($pram eq 'incoming') { - my $l = &check_incoming($line); - if (defined $l) { $positiv_counter++; } - } - - elsif ($pram eq 'header') { - my $l = &check_header($line); - if (defined $l) { $positiv_counter++; } - } - - elsif ($pram eq 'syslog_state') { - my $l = &check_syslog_state($line); - if (defined $l) { $positiv_counter++; } - } - } - - if (keys(%$script_pram) == $positiv_counter) { - $positive_msg = 1; - } + if ($line =~ /$pattern/ ) { + print "$line\n"; + } } - - +close FILE;