use strict; use warnings; use Time::HiRes qw(gettimeofday); my @logfilelist =glob("*.log"); my @datfilelist = glob("*.dat"); #my $file = '/dntrading-webapp_snorfu2_2007-05-24_05-43-11_1.log.20070526_050348.log'; my $context_file = "frontend_context.dat"; my $message_file = "frontend_message.dat"; my @array; my $counter=0; my $MessageFound=0; my $line; my $tmp_line; my $t0 = gettimeofday(); foreach my $datFile(@datfilelist) { unlink($datFile); print "$datFile gelöscht \n"; } open my $context, '>>', $context_file or die $!; print $context "CONTEXT_ID|CONTEXT_DATE|CONTEXT_TIME|SESSION_ID|LID-USER|LID-KUNDE|ORDERCHANNEL|SOURCE\n"; open my $message, '>>', $message_file or die $!; print $message "MESSAGE_ID|MESSAGE\n"; foreach my $logFile(@logfilelist) { open my $in , '<', $logFile or die $!; print "Umstrukturieren $logFile \n"; while( my $line = <$in> ){ if( $line =~ /^Context/ ){ $line=~ s/^Context:\s+//; @array = split /\s/, $line; $line = join "|", @array; if( $array[2] ne '' ){ $counter++; print $context "$counter|$line\n"; } } if( $line =~ /^Message:/ || $MessageFound){ if($array[2] ne '') { $MessageFound=1; if($line =~ /^\n/) { chomp($line); $line =~ s/\s/ /g; print $message "$counter|$tmp_line\n"; $tmp_line = ''; $MessageFound=0; } else { chomp($line); $line=~ s/\s/ /g; $tmp_line .= $line; } } } } close $in; } close $message; close $context;