X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-si%2Ftests%2Flog-parser.pl;h=0efe9eab92a8b0cd9779c6bef175c6e4e0f4f909;hb=e2d904d6c935347c105f8543fa3616a85885e32b;hp=f888bb610f0e71572263279529bca211215c7151;hpb=f418da54b61c9439c2f71f76c50d53620229c703;p=gosa.git diff --git a/gosa-si/tests/log-parser.pl b/gosa-si/tests/log-parser.pl index f888bb610..0efe9eab9 100755 --- a/gosa-si/tests/log-parser.pl +++ b/gosa-si/tests/log-parser.pl @@ -21,18 +21,29 @@ use strict; 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 $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) = @_ ; - my @line_list = split(" ", $line); # new header, set all values back to default if ($line =~ /INFO: Incoming msg with header/ ) { @@ -43,17 +54,13 @@ sub check_header { $within_header = 1; return $line; } else { - if ($within_header) { - return $line; - } else { - return; - } + if ($within_header) { return $line; } } + return; } 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/ ) { @@ -64,40 +71,31 @@ sub check_incoming { $within_incoming = 1; return $line; } else { - if ($within_incoming) { - return $line; - } else { - return; - } + if ($within_incoming) { return $line; } } + return; } sub check_session { my ($line) = @_ ; - my @line_list = split(" ", $line); - if (not $line_list[4]) { - if ($within_session) { + if ($line =~ /gosa-si-server (\d+) / ) { + if ((defined $1) && ($1 eq $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, "h|header=s" => \$header, + "l|log=s" => \$syslog_state, ); # check script pram @@ -113,7 +111,11 @@ if (defined $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 @@ -131,10 +133,11 @@ while ( my $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; } + $positive_msg = 0; $within_session = 0; $within_header = 0; $within_incoming = 0; @@ -159,6 +162,11 @@ while ( my $line = ){ 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) {