#!/usr/bin/perl
sub AbreArqLog {
my @auxSp = split('/', $0);
my $proc_nam = $auxSp[(scalar(@auxSp) - 1)];
my $proc_num = $$;
my $sistema = $^O;
my $aux;
my ($proc_ini) = &TimeStamp(7);
my $LOGFILEDIR = $ENV{HOME};
my $pLog = substr($proc_nam, 0, (length($proc_nam) - 3));
my $proc_log = $pLog . '_p' . $proc_num . '_d' . &TimeStamp(8) .'
+.log';
my ($time) = &TimeStamp(1);
$LOGFILENAME = $LOGFILEDIR . '/' . $proc_log;
#printf("\n $LOGFILENAME \n");
open (LOG, ">> $LOGFILENAME");
print LOG "$time\- ===============================================
+=======================\n";
print LOG "$time\- Nome do Processo : $proc_nam \n";
print LOG "$time\- Numero do Processo : $proc_num \n";
print LOG "$time\- Sistema Operacional : $sistema \n";
print LOG "$time\- Data de Inicio do Processo : $proc_ini \n";
print LOG "$time\- Nome do Arquivo de Log : $proc_log \n";
print LOG "$time\- ===============================================
+=======================\n";
if (scalar(@ARGV) > 0) {
print LOG "$time\- --------------------------------------------
+--------------------------\n";
for ($aux = 0; $aux < scalar(@ARGV); $aux++) {
print LOG "$time\- Parametro : [" . ($aux + 1) .
+ "] - $ARGV[$aux] \n";
}
print LOG "$time\- --------------------------------------------
+--------------------------\n";
print LOG "$time\- ============================================
+==========================\n";
}
close LOG;
if (scalar(@ARGV) == 2) {
if (($ARGV[1] eq "TRACE") || ($ARGV[1] eq "trace")) {
print "\n\n>> $time <<\n\n";
print " ===================================================
+===================\n";
print " Nome do Processo : $proc_nam \n";
print " Numero do Processo : $proc_num \n";
print " Sistema Operacional : $sistema \n";
print " Data de Inicio do Processo : $proc_ini \n";
print " Nome do Arquivo de Log : $proc_log \n";
print " ===================================================
+===================\n";
if (scalar(@ARGV) > 0) {
print " ------------------------------------------------
+----------------------\n";
for ($aux = 0; $aux < scalar(@ARGV); $aux++) {
print " Parametro : [" . ($aux + 1
+) . "] - $ARGV[$aux] \n";
}
print " ------------------------------------------------
+----------------------\n";
print " ================================================
+======================\n";
}
}
}
return;
}
sub RunLog {
my($text) = $_[0];
my($time) = &TimeStamp(1);
if (scalar(@ARGV) == 2) {
if (($ARGV[1] eq "TRACE") || ($ARGV[1] eq "trace")) {
print "$text\n";
}
}
open (LOG, ">>$LOGFILENAME");
print LOG "$time\-$text\n";
close LOG;
return;
}
sub RetCode {
my $code = $_[0];
my ($date_fim) = &TimeStamp(7);
if (substr($code,0,1) eq "E") {
&RunLog(" =====================================================
+===========================");
&RunLog(" Status de Saida : Finalizado com Erro !!
+!");
&RunLog(" Codigo de Erro : $code");
&RunLog(" Data de Termino do Processo : $date_fim");
&RunLog(" =====================================================
+===========================");
&EnviaEmail("ERROR: [$code]", " Nome do Processo: [$0]\n Numero
+ do Processo: [$$]\n Termino do Processo: [$date_fim]\n Finalizado co
+m Erro !!!\n", $0);
&AvisaAdm("ERROR: [$code]", " Nome do Processo: [$0]\n Numero d
+o Processo: [$$]\n Termino do Processo: [$date_fim]\n Finalizado com
+Erro !!!\n", $0);
} elsif (substr($code,0,1) eq "W") {
&RunLog(" ================================================
+================================");
&RunLog(" Status de Saida : Finalizado com Pr
+oblemas !!!");
&RunLog(" Data de Termino do Processo : $date_fim");
&RunLog(" ================================================
+================================");
&EnviaEmail("WARN: [$code]", " Nome do Processo: [$0]\n Nu
+mero do Processo: [$$]\n Termino do Processo: [$date_fim]\n Finalizad
+o com Problemas !!!\n", $0);
} elsif (substr($code,0,1) eq "F") {
&RunLog(" ================================================
+================================");
&RunLog(" Status de Saida : Finalizado com Fa
+lhas !!!");
&RunLog(" Codigo da Falha : $code");
&RunLog(" Data de Termino do Processo : $date_fim");
&RunLog(" ================================================
+================================");
&EnviaEmail("FAIL: [$code]", " Nome do Processo: [$0]\n Nu
+mero do Processo: [$$]\n Termino do Processo: [$date_fim]\n Finalizad
+o com Falha !!!\n", $0);
&AvisaAdm("FAIL: [$code]", " Nome do Processo: [$0]\n Nume
+ro do Processo: [$$]\n Termino do Processo: [$date_fim]\n Finalizado
+com Falha !!!\n", $0);
} else {
&RunLog(" =================================================
+================================");
&RunLog(" Status de Saida : Processo Finalizad
+o com Sucesso !!!");
&RunLog(" Data de Termino do Processo : $date_fim");
&RunLog(" =================================================
+================================");
&EnviaEmail("OK: [$code]", " Nome do Processo: [$0]\n Numer
+o do Processo: [$$]\n Termino do Processo: [$date_fim]\n Finalizado c
+om Sucesso !!!\n", $0);
}
print $code;
exit $code;
}
|