Logs de Sistema
Características do Requisito
Linha de Produto: | Protheus | ||||||||||
Segmento: | Framework | ||||||||||
Módulo: | Não se aplica. | ||||||||||
Rotina: |
| ||||||||||
Cadastros Iniciais: | Não se aplica. | ||||||||||
Parâmetro(s): | Não se aplica. | ||||||||||
Ponto de Entrada: | Não se aplica. | ||||||||||
Chamados relacionados | Não se aplica. | ||||||||||
Requisito (ISSUE): | PCREQ-2292 | ||||||||||
País(es): | Todos. | ||||||||||
Banco(s) de Dados: | Todos. | ||||||||||
Tabelas utilizadas: | Não se aplica. | ||||||||||
Sistema(s) operacional(is): | Windows,Linux | ||||||||||
Versões/Release: | 12 |
Descrição
O objetivo desta melhoria é possibilitar a geração de um log no padrão syslog (RFC 5424 - https://tools.ietf.org/html/rfc5424) no Protheus. O syslog é um padrão criado pela IETF para a transmissão de mensagens de log através da rede. O termo é geralmente usado para identificar tanto o protocolo de rede quanto para a aplicação ou biblioteca de envio de mensagens no protocolo syslog. Com esta melhoria, algumas rotinas estarão aptas a enviarem os seus logs de processamento para um servidor de logs externo, identificando comportamentos, avisos e até mesmo erros ocasionados na aplicação.
Com esta melhoria algumas aplicações de framework foram mapeadas e a partir de agora, passam a enviar as informações de log do sistema (quando configuradas para tal).
Para mais detalhes, consulte LogMsg e FWLogMsg.
Procedimento para Utilização
A disponibilização dos logs de sistema do framework Protheus é gerada desde que exista configuração para tal (conforme seção anterior).
Pelo padrão, cada log é dividido em grupos (Group) que possuem categorias (Category),onde a mensagem indica o passo de execução da rotina (Step), sendo categorizada por sua severidade (INFO para mensagens de informações do processo, ERROR para erros no sistema, WARN para avisos e DEBUG, para mensagens mais detalhadas sobre a execução do processo, ideal para debug via log). A mensagem também traz em algumas situações algum fator de medida (Mensure) e em alguns momentos, a informação do tempo decorrido até ali (ElapseTime).
As informações de debug somente são enviadas para o servidor de logs se existir a chave FWLOGMSG_DEBUG=1 no arquivo .ini do appserver, na seção do ambiente em uso.
Caso não exista servidor de logs ativos é possível verificar as informações no arquivo de logs (o console.log do Protheus), ativando a chave FWTRACELOG=1, no .ini do appserver, na seção do ambiente em uso. Por gerar informações que são gravadas em arquivo seu uso é recomendado somente em momentos onde se é necessário verificar algum comportamento no sistema, não sendo indicado o seu uso permanente na aplicação, pois pode gerar lentidão no acesso ao disco. O ideal, para receber e visualizar as mensagens de log é através de um servidor de logs de erro conforme o link LogMsg .Com o servidor ativo, o log é expedido de forma assíncrona, não gerando contenção no servidor de aplicação, podendo ser usado como “trace” sem grande prejuízo para a execução.
O Protheus possui um servidor de logs padrão, distribuído junto ao appserver, ou embarcado no mesmo (para o novo binário NG, da versão 12). O link LogMsg ensina como configurar este servidor de logs Protheus.
As informações são geradas conforme a planilha abaixo. Onde não existe informação significa que a mesma não é enviada para o servidor de logs.
Group | Category | STEP | Severidade | Mensure | ElapseTime | Descrição |
Schedule
| Engine | START | INFO |
| Informa o tempo de início de execução. | Log gerado quando o motor de Schedule inicia. |
ERROR |
| Informa o tempo até o momento do erro. | Gera um log descrevendo o motivo pelo qual o motor do Schedule não iniciou. | |||
READY | INFO |
|
| Log gerado quando o motor de Schedule está pronto. | ||
INFO |
|
| Log gerado quando o motor de Schedule distribuir uma tarefa. | |||
WARN |
|
| Log gerado quando o motor de Schedule não conseguir distribuir um job (rotina) para execução. | |||
STOP | ERROR |
| Tempo de execução até aquele momento. | Gera um log descrevendo o motivo pelo qual o motor do Schedule foi interrompido. | ||
INFO |
| Informa o tempo que ficou em execução até a ocorrência | Log gerado quando o motor de Schedule for interrompido por um usuário. | |||
Agent | START | INFO |
| Informa o tempo de início. | Log gerado quando o agente do Schedule inicia. | |
ERROR |
| Informa o tempo até aquele momento | Gera um log descrevendo o motivo que o agente do Schedule não iniciou. | |||
READY | INFO |
|
| Log gerado quando o agent do Schedule está pronto. | ||
STOP | INFO |
| Informa o tempo que ficou em execução até a ocorrência | Log gerado quando o agent de Schedule for interrompido por um usuário. | ||
ERROR |
| Informa o tempo que ficou em execução até a ocorrência. | Log gerado quando o agent de Schedule for interrompido drasticamente. | |||
RELEASE | INFO |
| Informa o tempo até aquele momento. | Log gerado quando o agent do Schedule for liberado. | ||
JobExecuting | BEGIN | INFO |
|
| Log gerado quando o agent do Schedule receber um Job para processamento. | |
STOP | ERROR |
| Informa o tempo até aquele momento. | Log gerado quando o job processado gerar um erro e ser interrompido. | ||
WARN |
| Informa o tempo até aquele momento | Log gerado quando o job processado gerar uma advertência, por exemplo, o job não executou por uma regra de negócio ou requisito | |||
END | INFO |
| Informa o tempo de processamento total | Log gerado quando o agent do Schedule encerrar um Job. | ||
BusinessObject | OLTP (processamento de transações) | BEGIN | INFO |
|
| Log gerando na abertura da transação da regra de negócio - Begin Transaction. Indica também a rotina que iniciou a transação. |
STOP | ERROR | Volume de linhas atualizadas ou inseridas até o momento. | Informa o tempo até aquele momento | Log gerado quando ocorrer uma exceção na transação. | ||
END | INFO | Volume de linhas atualizadas ou inseridas | Informa o tempo de processamento total | Log gerado no terminado da transação - End Transaction. | ||
InterfaceJob |
| INFO | Volume de linhas processadas ou quantidade processada. | Informa o tempo até aquele momento. | Gera um log a cada 5% de processamento ou mudança de passo. | |
| ERROR | Volume de linhas processadas ou quantidade processada. | Informa o tempo até aquele momento | Log gerado quando ocorre uma exceção. | ||
EXCEPTION |
| ERROR |
|
| Log gerado quando ocorre um erro no sistema. | |
WARNING |
| WARN |
|
| Log gerado quando um erro tratado é gerado. | |
Enviroment | START |
| INFO |
| Informa o tempo até aquele momento | Informa cada um dos passos que são relevantes para rastreamento do tempo de execução. |
WARN |
|
| Log gerado para identificação de pendências de configuração. Exemplo: conexão com o License Server. | |||
DEBUG |
|
| Log gerado para identificação de possíveis problemas. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção. | |||
CHANGE |
| INFO |
| Informa o tempo até aquele momento. | Informa cada um dos passos que são relevantes para rastreamento do tempo de execução | |
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção. | |||
OPENINTERFACE |
| INFO |
| Informa o tempo até aquele momento | Informa cada um dos passos que são relevantes para rastreamento do tempo de execução. | |
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção. | |||
WebServices e RPC | CONNECT |
| INFO |
|
| Informa o recebimento de uma tarefa para processamento, bem como a alocação de memória da thread, quando do inicio do processamento. |
DEBUG |
|
| Log gerado para identificação de possíveis problemas. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção. | |||
INFO |
| Informa o tempo até aquele momento. | Informa o término de execução de uma tarefa, bem como a alocação final de memória da thread. | |||
RELEASE |
| INFO |
| Informa o tempo até aquele momento | Informa os dados de alocação de memória no release da thread e volume de requisições atendidas. | |
DEBUG |
|
| Log gerado para identificação de possíveis problemas. | |||
LicenseServer | STARTLS |
| INFO |
| Informa o tempo até aquele momento. | Informa os passos de inicialização do License Server, tais como, criação de tabelas/abertura, leitura do arquivo de licença, subida das threads de atendimento, etc. |
DEBUG |
|
| Log gerado para identificação de possíveis problemas. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção | |||
CONNECT |
| INFO |
| Informa o tempo de execução até o momento. | Informe os dados que foram recebidos/enviados para o LS. | |
ERROR |
| Informa o tempo até aquele momento | Log gerado quando ocorre uma exceção. | |||
INFO |
| Informa o tempo até aquele momento. | Informa os dados que foram recebidos/enviados para o ERP e seus tratamentos posteriores, realimentando o ciclo. | |||
RELEASE |
| INFO |
| Informa o tempo até aquele momento. | Informa os dados que foram recebidos/enviados para o LS. | |
WARN |
| Informa o tempo até aquele momento. | Log gerado pelo LS para registrar uma desconecção por timeout. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção. | |||
INFO |
| Informa o tempo até aquele momento. | Informa os dados que foram recebidos/enviados para o ERP e seus tratamentos posteriores, realimentando o ciclo. | |||
STARTERP |
| INFO |
| Informa o tempo até aquele momento. | Informa os passos de inicialização do License Server, versão da regra utilizada e pacotes trocados. | |
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção | |||
Integration | EAI | SENDER | INFO | Informa o número de mensagens à processar. |
| Informa o inicio do ciclo de envio de mensagens. |
INFO |
| Informa o tempo até aquele momento. | Informa cada um dos passos até a transmissão de uma mensagem. | |||
WARN |
| Informa o tempo até aquele momento. | Informa se houve algum problema na transmissão que impediu o envio. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção. | |||
RECEIVER | INFO | Informa o número de mensagens à processar. |
| Informa o inicio do ciclo de processamento de mensagens. | ||
INFO |
| Informa o tempo até aquele momento. | Informa cada um dos passos até a processamento da mensagem recebida. | |||
WARN |
| Informa o tempo até aquele momento. | Informa se houve algum problema na recepção que impediu a conclusão da operação no ERP. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção que para o processo. | |||
WS | INFO | Informa o tamanho em caracteres da mensagem. |
| Informa o recebimento da mensagem, bem como o seu tipo Síncrono ou Assíncrono. | ||
INFO |
| Informa o tempo até aquele momento. | Informa cada um dos passos executados até a gravação da mensagem em fila. Caso a mensagem seja sincrona, mantem o mesmo UUID do SENDER/RECEIVE. | |||
WARN |
| Informa o tempo até aquele momento. | Informa se houve algum problema na recepção que impediu o registro na fila de mensagens. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado quando ocorre uma exceção que para o processo. | |||
SAML | USER | CREATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na criação de um usuário e o sentido da integração ( ERP->IdM ou IdM->ERP ). |
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não é possível criar um usuário no ERP ou identity. | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
UPDATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na atualização de um usuário; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível atualizar um usuário no ERP ou identity; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
DELETE | INFO |
| Informa o tempo até aquele momento. | Log gerado no bloqueio de um usuário. Informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não foi possível bloquear um usuário no ERP ou identity; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ROLE | CREATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na criação da ROLE; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível criar uma ROLE no ERP ou identity; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
UPDATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na atualização de uma role; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível atualizar uma role no ERP ou identity; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
DELETE | INFO |
| Informa o tempo até aquele momento. | Log gerado no bloqueio de uma role. Informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível bloquear uma role no ERP ou identity; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
MENU | CREATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na criação do item de menu; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível criar um item de menu no ERP ou identity; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
UPDATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na atualização de um item de menu; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível atualizar um item do menu; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
DELETE | INFO |
| Informa o tempo até aquele momento. | Log gerado no bloqueio de um item de menu. Informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível bloquear um item de menu; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
COMPANY | CREATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na criação da empresa; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível criar uma empresa; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
UPDATE | INFO |
| Informa o tempo até aquele momento. | Log gerado na atualização de um item de menu; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível atualizar um item do menu; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
DELETE | INFO |
| Informa o tempo até aquele momento. | Log gerado no bloqueio de um item de menu. Informa sentido da integração ( ERP->IdM ou IdM->ERP ). | ||
WARN |
| Informa o tempo até aquele momento. | Log gerado quando não for possível bloquear um item de menu; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). | |||
ERROR |
| Informa o tempo até aquele momento. | Log gerado em caso de exceção; informa o sentido da integração ( ERP->IdM ou IdM->ERP ). |