messagingfw/msgtest/targetautomation/Script/logsplit.pl
changeset 22 bde600d88860
parent 0 8e480a14352b
equal deleted inserted replaced
21:08008ce8a6df 22:bde600d88860
       
     1 # Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 # All rights reserved.
       
     3 # This component and the accompanying materials are made available
       
     4 # under the terms of "Eclipse Public License v1.0"
       
     5 # which accompanies this distribution, and is available
       
     6 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 #
       
     8 # Initial Contributors:
       
     9 # Nokia Corporation - initial contribution.
       
    10 #
       
    11 # Contributors:
       
    12 #
       
    13 # Description:
       
    14 #
       
    15 
       
    16 #!perl
       
    17 
       
    18 $count = @ARGV;
       
    19 die "ERROR: Bad arguments\n\nUsage: \n\nlogsplit logfilename\n\n" if ($count!=1);
       
    20 
       
    21 $state = 1;
       
    22 while (<>) {
       
    23 	if ($state==1) {
       
    24 		# regular expression here searching for ---->START
       
    25 		if (/=====> START /) {
       
    26 			@fields = split /\[/;
       
    27 			shift @fields;
       
    28 			@fields = split /\]/;
       
    29 			$_ = shift @fields;
       
    30 			@fields = split / /;
       
    31 			$filename = $fields[2];
       
    32 			@fields = split /\\/, $filename;
       
    33 			$filename = $fields[@fields-1];
       
    34 			# open file here
       
    35 			print "$filename \n";
       
    36 			open LOGHANDLE, ">$filename"
       
    37 				or die "FAILED: opening file $filename.\n($!)\n";
       
    38 			$state=2;
       
    39 		}
       
    40 	}
       
    41 	elsif ($state==2) {
       
    42 		# regular expression here searching for ---->STOP
       
    43 		if (/=====> STOP /) {
       
    44 			# check that start and stop matches ?
       
    45 			# close file here
       
    46 			close LOGHANDLE;
       
    47 			$state=1;
       
    48 		}
       
    49 		elsif (/=====> START /) {
       
    50 			# Start found during a file...?
       
    51 			close LOGHANDLE;
       
    52 			die "FAILED: source file corrupt!\n\n";
       
    53 		}
       
    54 		else {
       
    55 			print LOGHANDLE $_;
       
    56 			# write line to file
       
    57 		}
       
    58 	}
       
    59 }