sysmodellibs/sysmodelgen/src/LogItem.pm
changeset 6 5b32dc297d05
parent 1 b538b70cbe51
equal deleted inserted replaced
3:e7e0ae78773e 6:5b32dc297d05
       
     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 package LogItem;
       
    17 
       
    18 use FindBin;
       
    19 use lib $FindBin::Bin;
       
    20 use strict;
       
    21 
       
    22 use constant ERROR 								=> 1;
       
    23 use constant WARNING							=> 2;
       
    24 use constant INFO 								=> 3;
       
    25 use constant VERBOSE							=> 4;
       
    26 
       
    27 #-------------------------------------------------------------------------------------------------
       
    28 # Subroutine:   new
       
    29 # Purpose:      Constructor
       
    30 # Input:        None (extracted from command line args)
       
    31 # Output:       A reference to itself
       
    32 #-------------------------------------------------------------------------------------------------
       
    33 sub new()
       
    34 	{
       
    35 	my $package = shift;
       
    36 	my $self = {};         			# Create reference to object
       
    37 	bless $self,  $package;    		# Associate a reference with class name
       
    38 	my %parameters = @_;
       
    39 	$self->{iMessage} 	= $parameters{'msg'} ? $parameters{'msg'} : "";
       
    40 	$self->{iCode} 		= $parameters{'code'} ? $parameters{'code'} : 0;
       
    41 	$self->{iModule} 	= $parameters{'module'} ? $parameters{'module'} : 0;
       
    42 	$self->{iSeverity} 	= $parameters{'severity'} ? $parameters{'severity'} : 3; # default is INFO
       
    43 	$self->{iDepth}		= $parameters{'depth'} ? $parameters{'depth'} : 0;
       
    44 	
       
    45 	$self->{iCode} = 0;
       
    46 	
       
    47 	$self->{iDate} 		= scalar(localtime);
       
    48     return $self;
       
    49 	}
       
    50 
       
    51 sub Message()
       
    52 	{
       
    53 	my $self = shift;
       
    54 	$self->{iMessage} = $_[0] if $_[0];
       
    55 	return $self->{iMessage};
       
    56 	}
       
    57 
       
    58 sub Module()
       
    59 	{
       
    60 	my $self = shift;
       
    61 	$self->{iModule} = $_[0] if $_[0];
       
    62 	return $self->{iModule};
       
    63 	}
       
    64 
       
    65 sub Severity()
       
    66 	{
       
    67 	my $self = shift;
       
    68 	$self->{iSeverity} = $_[0] if $_[0];
       
    69 	return $self->{iSeverity};
       
    70 	}
       
    71 
       
    72 sub Depth()
       
    73 	{
       
    74 	my $self = shift;
       
    75 	$self->{iDepth} = $_[0] if $_[0];
       
    76 	return $self->{iDepth};
       
    77 	}
       
    78 
       
    79 sub Date()
       
    80 	{
       
    81 	my $self = shift;
       
    82 	$self->{iDate} = $_[0] if $_[0];
       
    83 	return $self->{iDate};
       
    84 	}
       
    85 
       
    86 sub Code()
       
    87 	{
       
    88 	my $self = shift;
       
    89 	$self->{iCode} = $_[0] if $_[0];
       
    90 	return $self->{iCode};
       
    91 	}
       
    92 
       
    93 sub LogText()
       
    94 	{
       
    95 	my $self = shift;
       
    96 	return $self->SeverityText()."(".$self->{iCode}.") [".$self->{iDate}."]: "." " x $self->{iDepth}.$self->{iMessage}."\n";
       
    97 	}
       
    98 
       
    99 sub SeverityText()
       
   100 	{
       
   101 	my $self = shift;
       
   102 	return "  ERROR" if $self->Severity() == ERROR;
       
   103 	return "WARNING" if $self->Severity() == WARNING;
       
   104 	return "VERBOSE" if $self->Severity() == VERBOSE;
       
   105 	return "   INFO";
       
   106 	}
       
   107 
       
   108 1;