index f888bb610f0e71572263279529bca211215c7151..0efe9eab92a8b0cd9779c6bef175c6e4e0f4f909 100755 (executable)
use strict;
use warnings;
use Getopt::Long;
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 $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) = @_ ;
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/ ) {
# new header, set all values back to default
if ($line =~ /INFO: Incoming msg with header/ ) {
$within_header = 1;
return $line;
} else {
$within_header = 1;
return $line;
} else {
- if ($within_header) {
- return $line;
- } else {
- return;
- }
+ if ($within_header) { return $line; }
}
}
+ return;
}
sub check_incoming {
my ($line) = @_ ;
}
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/ ) {
# new incoming msg, set all values back to default
if ($line =~ /INFO: Incoming msg with session ID \d+ from/ ) {
$within_incoming = 1;
return $line;
} else {
$within_incoming = 1;
return $line;
} else {
- if ($within_incoming) {
- return $line;
- } else {
- return;
- }
+ if ($within_incoming) { return $line; }
}
}
+ return;
}
sub check_session {
my ($line) = @_ ;
}
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 $line;
}
- return;
- }
-
- if($line_list[4] eq $session) {
- $within_session = 1;
- return $line;
- } else {
- $within_session = 0;
}
return;
}
}
return;
}
+
+
### MAIN ######################################################################
GetOptions(
"s|session=s" => \$session,
"i|incoming=s" => \$incoming,
"h|header=s" => \$header,
### MAIN ######################################################################
GetOptions(
"s|session=s" => \$session,
"i|incoming=s" => \$incoming,
"h|header=s" => \$header,
+ "l|log=s" => \$syslog_state,
);
# check script pram
);
# check script pram
if (defined $header) {
print "header: $header\n";
$script_pram->{'header'} = $header;
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
if (keys(%$script_pram) == 0) {
# print usage and die
# start of a new message, plot saved log lines
if ($line =~ /INFO: Incoming msg with session ID \d+ from / ) {
if ($positive_msg) {
# 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";
print join("\n", @lines)."\n";
- $positive_msg = 0;
}
}
+ $positive_msg = 0;
$within_session = 0;
$within_header = 0;
$within_incoming = 0;
$within_session = 0;
$within_header = 0;
$within_incoming = 0;
my $l = &check_header($line);
if (defined $l) { $positiv_counter++; }
}
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) {
}
if (keys(%$script_pram) == $positiv_counter) {