index 79885bbabd0be1f00f85893197f5d9f4137b15ac..7a7cd5e74946c7afbbd245e4f4396a7615d99d9d 100755 (executable)
use strict;
use warnings;
use Getopt::Long;
+use Data::Dumper;
+my $pattern;
my $log_file = "/var/log/gosa-si-server.log";
-my $within_log_session = 0;
-my $session;
-GetOptions("s|session=s" => \$session);
-if( not defined $session) { die "\tplease define a session to parse\n\ti.e. 'perl log-parser.pl -s 4'\n" };
+### MAIN ######################################################################
-print "session: $session\n";
+GetOptions(
+ "p|pattern=s" => \$pattern,
+ );
-open(FILE, "<$log_file") or die "\t can not open log-file";
-
-# Read lines
-my $line;
-while ($line = <FILE>){
+open(FILE, "<$log_file") or die "\ncan not open log-file '$log_file'\n";
+my @lines;
+my $messages = {};
+# Read lines
+while ( my $line = <FILE>){
chomp($line);
- my @line_list = split(" ", $line);
-
- if (not $line_list[4]) {
- if ($within_log_session) {
- print "$line\n";
- }
- next;
- }
-
- if($line_list[4] eq $session) {
- print "$line\n";
- $within_log_session = 1;
-
- } else {
- $within_log_session = 0;
- }
+
+ # start of a new message, plot saved log lines
+ if ($line =~ /$pattern/ ) {
+ print "$line\n";
+ }
+
}
+
+close FILE;