######################################################################## # COPYRIGHT - VIX IP PTY LTD ("VIX"). ALL RIGHTS RESERVED. # # Module name : StdLogger.pm # Module type : # Compiler(s) : Perl # Environment(s): # # Description : Logger # Logs to stdout instead of a file # #......................................................................# require 5.008_002; use strict; use warnings; package StdLogger; # Set auto flush $| = 1; sub new ($) { my ($class) = @_; return bless { verbose => 3 }, $class; } sub setVerbose ($) { my ($self, $vLevel) = @_; $self->{verbose} = $vLevel || 0; } sub logmsg ($$) { my ($self, $msg) = @_; # print localtime()." (PID $$): $msg\n"; $msg =~ s~\s+$~~; print $msg . "\n"; return undef; } sub err ($$) { my ($self, $msg) = @_; $self->logmsg("ERROR: $msg"); exit 2; } sub warn ($$) { my ($self, $msg) = @_; $self->logmsg("WARNING: $msg"); return undef; } sub verbose ($$) { my ($self, $msg) = @_; $self->logmsg("(V1): $msg") if ( $self->{verbose} > 0 ); return undef; } sub verbose2 ($$) { my ($self, $msg) = @_; $self->logmsg("(V2): $msg") if ( $self->{verbose} > 1 ); return undef; } sub verbose3 ($$) { my ($self, $msg) = @_; $self->logmsg("(V3): $msg") if ( $self->{verbose} > 2 ); return undef; } sub rotatelog ($) { return undef; } 1;