Commit 3d13dd2876da9b185aa32db735e313d2cadf5ee5
1 parent
572912a3
Exists in
desenv
Melhoria no mecanismo de registro de log debug do módulo
Showing
4 changed files
with
75 additions
and
30 deletions
Show diff stats
| @@ -0,0 +1,51 @@ | @@ -0,0 +1,51 @@ | ||
| 1 | +<? | ||
| 2 | + | ||
| 3 | +require_once dirname(__FILE__) . '/../../SEI.php'; | ||
| 4 | + | ||
| 5 | +class DebugPen extends InfraDebug { | ||
| 6 | + | ||
| 7 | + //Rótulo aplicado na mensagem de log para agrupar a sequência mensagens | ||
| 8 | + private $strDebugTag = null; | ||
| 9 | + private $numTempoUltimoLog = null; | ||
| 10 | + private static $instance = null; | ||
| 11 | + | ||
| 12 | + public function __construct($parStrDebugTag=null){ | ||
| 13 | + parent::__construct(); | ||
| 14 | + $this->strDebugTag = $parStrDebugTag; | ||
| 15 | + } | ||
| 16 | + | ||
| 17 | + public static function getInstance() | ||
| 18 | + { | ||
| 19 | + if (self::$instance == null) { | ||
| 20 | + self::$instance = new DebugPen(); | ||
| 21 | + } | ||
| 22 | + return self::$instance; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + public function setStrDebugTag($parStrDebugTag=null){ | ||
| 26 | + $this->strDebugTag = $parStrDebugTag; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + public function gravar($str, $numIdentacao=0, $bolLogTempoProcessamento=true) { | ||
| 30 | + | ||
| 31 | + $strDataLog = date("d/m/Y H:i:s"); | ||
| 32 | + $strTag = (!is_null($this->strDebugTag)) ? "[" . $this->strDebugTag . "]": ""; | ||
| 33 | + | ||
| 34 | + $strLog = sprintf("[%s] %s %s %s", $strDataLog, $strTag, str_repeat(" ", $numIdentacao * 4), $str); | ||
| 35 | + | ||
| 36 | + //Registro de tempo de processamento desde último log | ||
| 37 | + if($bolLogTempoProcessamento){ | ||
| 38 | + $numTempoFinal = microtime(true); | ||
| 39 | + if(is_null($this->numTempoUltimoLog)){ | ||
| 40 | + //Inicializa contador de tempo de processamento | ||
| 41 | + $this->numTempoUltimoLog = $numTempoFinal; | ||
| 42 | + } else { | ||
| 43 | + $numTempoProcessamento = round($numTempoFinal - $this->numTempoUltimoLog, 2); | ||
| 44 | + $strLog .= " [tempo: +{$numTempoProcessamento}s]"; | ||
| 45 | + $this->numTempoUltimoLog = $numTempoFinal; | ||
| 46 | + } | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + parent::gravar($strLog); | ||
| 50 | + } | ||
| 51 | +} |
rn/ProcessarPendenciasRN.php
| @@ -6,6 +6,7 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa | @@ -6,6 +6,7 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa | ||
| 6 | { | 6 | { |
| 7 | private static $instance = null; | 7 | private static $instance = null; |
| 8 | private $objGearmanWorker = null; | 8 | private $objGearmanWorker = null; |
| 9 | + private $objPenDebug = null; | ||
| 9 | 10 | ||
| 10 | const TIMEOUT_PROCESSAMENTO_JOB = 5400; | 11 | const TIMEOUT_PROCESSAMENTO_JOB = 5400; |
| 11 | 12 | ||
| @@ -26,6 +27,15 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa | @@ -26,6 +27,15 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa | ||
| 26 | { | 27 | { |
| 27 | $this->objGearmanWorker = new GearmanWorker(); | 28 | $this->objGearmanWorker = new GearmanWorker(); |
| 28 | $this->objGearmanWorker->addServer("127.0.0.1", 4730); | 29 | $this->objGearmanWorker->addServer("127.0.0.1", 4730); |
| 30 | + | ||
| 31 | + //Configuração dos logs de debug de processamento | ||
| 32 | + $this->objPenDebug = DebugPen::getInstance(); | ||
| 33 | + $this->objPenDebug->setStrDebugTag("PROCESSAMENTO"); | ||
| 34 | + $this->objPenDebug->setBolLigado(true); | ||
| 35 | + $this->objPenDebug->setBolDebugInfra(false); | ||
| 36 | + $this->objPenDebug->setBolEcho(true); | ||
| 37 | + $this->objPenDebug->limpar(); | ||
| 38 | + | ||
| 29 | $this->configurarCallbacks(); | 39 | $this->configurarCallbacks(); |
| 30 | } | 40 | } |
| 31 | 41 | ||
| @@ -163,12 +173,9 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa | @@ -163,12 +173,9 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa | ||
| 163 | }, null, self::TIMEOUT_PROCESSAMENTO_JOB); | 173 | }, null, self::TIMEOUT_PROCESSAMENTO_JOB); |
| 164 | } | 174 | } |
| 165 | 175 | ||
| 166 | - private function gravarLogDebug($strMensagem, $numIdentacao=0, $bolEcho=false) | 176 | + private function gravarLogDebug($parStrMensagem, $parNumIdentacao=0, $parBolLogTempoProcessamento=false) |
| 167 | { | 177 | { |
| 168 | - $strDataLog = date("d/m/Y H:i:s"); | ||
| 169 | - $strLog = sprintf("[%s] [PROCESSAMENTO] %s %s", $strDataLog, str_repeat(" ", $numIdentacao * 4), $strMensagem); | ||
| 170 | - InfraDebug::getInstance()->gravar($strLog); | ||
| 171 | - if(!InfraDebug::getInstance()->isBolEcho() && $bolEcho) echo sprintf("\n[%s] [PROCESSAMENTO] %s", $strDataLog, $strMensagem); | 178 | + $this->objPenDebug->gravar($parStrMensagem, $parNumIdentacao, $parBolLogTempoProcessamento); |
| 172 | } | 179 | } |
| 173 | 180 | ||
| 174 | static function processarTarefa($strNomeTarefa, $strWorkload) | 181 | static function processarTarefa($strNomeTarefa, $strWorkload) |
rn/ReceberProcedimentoRN.php
| @@ -10,6 +10,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -10,6 +10,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 10 | private $objProcedimentoAndamentoRN; | 10 | private $objProcedimentoAndamentoRN; |
| 11 | private $documentosRetirados = array(); | 11 | private $documentosRetirados = array(); |
| 12 | public $destinatarioReal = null; | 12 | public $destinatarioReal = null; |
| 13 | + private $objPenDebug = null; | ||
| 13 | 14 | ||
| 14 | public function __construct() | 15 | public function __construct() |
| 15 | { | 16 | { |
| @@ -19,7 +20,8 @@ class ReceberProcedimentoRN extends InfraRN | @@ -19,7 +20,8 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 19 | $this->objProcedimentoAndamentoRN = new ProcedimentoAndamentoRN(); | 20 | $this->objProcedimentoAndamentoRN = new ProcedimentoAndamentoRN(); |
| 20 | $this->objReceberComponenteDigitalRN = new ReceberComponenteDigitalRN(); | 21 | $this->objReceberComponenteDigitalRN = new ReceberComponenteDigitalRN(); |
| 21 | 22 | ||
| 22 | - $this->numTempoUltimoLog = null; | 23 | + //Configuração dos logs de debug de processamento |
| 24 | + $this->objPenDebug = DebugPen::getInstance(); | ||
| 23 | } | 25 | } |
| 24 | 26 | ||
| 25 | protected function inicializarObjInfraIBanco() | 27 | protected function inicializarObjInfraIBanco() |
| @@ -137,7 +139,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -137,7 +139,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 137 | $numTempoInicialValidacao = microtime(true); | 139 | $numTempoInicialValidacao = microtime(true); |
| 138 | $this->objReceberComponenteDigitalRN->validarIntegridadeDoComponenteDigital($arrAnexosComponentes[$key][$componentePendente], | 140 | $this->objReceberComponenteDigitalRN->validarIntegridadeDoComponenteDigital($arrAnexosComponentes[$key][$componentePendente], |
| 139 | $componentePendente, $parNumIdentificacaoTramite, $numOrdemComponente); | 141 | $componentePendente, $parNumIdentificacaoTramite, $numOrdemComponente); |
| 140 | - $numTempoTotalValidacao = round(microtime(true) - $numTempoInicialValidacao, 2); | 142 | + $numTempoTotalValidacao = microtime(true) - $numTempoInicialValidacao; |
| 141 | $numVelocidade = round($numTamanhoArquivoKB / $numTempoTotalValidacao, 2); | 143 | $numVelocidade = round($numTamanhoArquivoKB / $numTempoTotalValidacao, 2); |
| 142 | $this->gravarLogDebug("Tempo total de validação de integridade: {$numTempoTotalValidacao}s ({$numVelocidade} kb/s)", 7); | 144 | $this->gravarLogDebug("Tempo total de validação de integridade: {$numTempoTotalValidacao}s ({$numVelocidade} kb/s)", 7); |
| 143 | } | 145 | } |
| @@ -1936,24 +1938,8 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1936,24 +1938,8 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1936 | } | 1938 | } |
| 1937 | } | 1939 | } |
| 1938 | 1940 | ||
| 1939 | - private function gravarLogDebug($strMensagem, $numIdentacao=0, $bolLogTempoProcessamento=true) | 1941 | + private function gravarLogDebug($parStrMensagem, $parNumIdentacao=0, $parBolLogTempoProcessamento=true) |
| 1940 | { | 1942 | { |
| 1941 | - $strDataLog = date("d/m/Y H:i:s"); | ||
| 1942 | - $strLog = sprintf("[%s] [PROCESSAMENTO] %s %s", $strDataLog, str_repeat(" ", $numIdentacao * 4), $strMensagem); | ||
| 1943 | - | ||
| 1944 | - //Registro de tempo de processamento desde último log | ||
| 1945 | - if($bolLogTempoProcessamento){ | ||
| 1946 | - $numTempoFinal = microtime(true); | ||
| 1947 | - if(is_null($this->numTempoUltimoLog)){ | ||
| 1948 | - //Inicializa contador de tempo de processamento | ||
| 1949 | - $this->numTempoUltimoLog = $numTempoFinal; | ||
| 1950 | - } else { | ||
| 1951 | - $numTempoProcessamento = round($numTempoFinal - $this->numTempoUltimoLog, 2); | ||
| 1952 | - $strLog .= " [tempo: +{$numTempoProcessamento}s]"; | ||
| 1953 | - $this->numTempoUltimoLog = $numTempoFinal; | ||
| 1954 | - } | ||
| 1955 | - } | ||
| 1956 | - | ||
| 1957 | - InfraDebug::getInstance()->gravar($strLog); | 1943 | + $this->objPenDebug->gravar($parStrMensagem, $parNumIdentacao, $parBolLogTempoProcessamento); |
| 1958 | } | 1944 | } |
| 1959 | } | 1945 | } |
rn/ReceberReciboTramiteRN.php
| @@ -6,13 +6,14 @@ class ReceberReciboTramiteRN extends InfraRN | @@ -6,13 +6,14 @@ class ReceberReciboTramiteRN extends InfraRN | ||
| 6 | private $objProcessoEletronicoRN; | 6 | private $objProcessoEletronicoRN; |
| 7 | private $objInfraParametro; | 7 | private $objInfraParametro; |
| 8 | private $objProcedimentoAndamentoRN; | 8 | private $objProcedimentoAndamentoRN; |
| 9 | + private $objPenDebug = null; | ||
| 9 | 10 | ||
| 10 | public function __construct() | 11 | public function __construct() |
| 11 | { | 12 | { |
| 12 | - parent::__construct(); | ||
| 13 | - | ||
| 14 | - $this->objProcessoEletronicoRN = new ProcessoEletronicoRN(); | ||
| 15 | - $this->objProcedimentoAndamentoRN = new ProcedimentoAndamentoRN(); | 13 | + parent::__construct(); |
| 14 | + $this->objProcessoEletronicoRN = new ProcessoEletronicoRN(); | ||
| 15 | + $this->objProcedimentoAndamentoRN = new ProcedimentoAndamentoRN(); | ||
| 16 | + $this->objPenDebug = DebugPen::getInstance(); | ||
| 16 | } | 17 | } |
| 17 | 18 | ||
| 18 | protected function inicializarObjInfraIBanco() | 19 | protected function inicializarObjInfraIBanco() |
| @@ -33,7 +34,7 @@ class ReceberReciboTramiteRN extends InfraRN | @@ -33,7 +34,7 @@ class ReceberReciboTramiteRN extends InfraRN | ||
| 33 | //Registra falha em log de debug mas não gera rollback na transação. | 34 | //Registra falha em log de debug mas não gera rollback na transação. |
| 34 | //O rollback da transação poderia deixar a situação do processo inconsistênte já que o Barramento registrou anteriormente que o | 35 | //O rollback da transação poderia deixar a situação do processo inconsistênte já que o Barramento registrou anteriormente que o |
| 35 | //recibo já havia sido obtido. O erro no fechamento não provoca impacto no andamento do processo | 36 | //recibo já havia sido obtido. O erro no fechamento não provoca impacto no andamento do processo |
| 36 | - InfraDebug::getInstance()->gravar("Processo $strProtocoloFormatado não está aberto na unidade."); | 37 | + $this->objPenDebug->gravar("Processo $strProtocoloFormatado não está aberto na unidade."); |
| 37 | } | 38 | } |
| 38 | 39 | ||
| 39 | $arrObjAtributoAndamentoDTO = array(); | 40 | $arrObjAtributoAndamentoDTO = array(); |