Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Função: FWLogMsg
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Português, Inglês, Espanhol |
Versão | V12 |
Sintaxe
FWLogMsg( < cSeverity >, [ cTransactionId ] , < cGroup > , [ cCategory ] , [ cStep ] , [ cMsgId ] , [ cMessage ] , [ nMensure ] , [ nElapseTime ] , [ aMessage ] )
Descrição
Registra uma mensagem de log com as informações do sistema, conforme padrão SysLog - RFC-5424
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório |
cSeverity | Caracteres | Informe a severidade da mensagem de log. As opções possíveis são: INFO,WARN,ERROR,FATAL,DEBUG | X | |
cTransactionId | Caracteres | Informe o Id de identificação da transação para operações correlatas. Informe "LAST" para o sistema assumir o mesmo id anterior | FWUUIDV1() | |
cGroup | Caracteres | Informe o Id do agrupador de mensagem de Log | X | |
cCategory | Caracteres | Informe o Id da categoria da mensagem | "" | |
cStep | Caracteres | Informe o Id do passo da mensagem | "" | |
cMsgId | Caracteres | Informe o Id do código da mensagem | "" | |
cMessage | Caracteres | Informe a mensagem de log. Limitada à 10K | "" | |
nMensure | Numérico | Informe a uma unidade de medida da mensagem | 0 | |
nElapseTime | Numérico | Informe o tempo decorrido da transação | 0 | |
aMessage | Array | Informe a mensagem de log em formato de Array - Ex: { {"Chave" ,"Valor"} } | {} |
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "protheus.ch"
//-------------------------------------------------------------------
/*/{Protheus.doc} myLogMsg
Exemplo de utilização da função FWLogMsg
@author Daniel Mendes
@since 16/03/2021
@version 1.0
/*/
//-------------------------------------------------------------------
user function myLogMsg()
local nBegin as numeric
local aMessage as array
local nQtdMsg as numeric
local nI as numeric
local cMsg as char
//Mensagem simples, de forma reduzida, somente parâmetros obrigatórios
FWLogMsg("INFO", /*cTransactionId*/, "MeuGrupo", /*cCategory*/, /*cStep*/, /*cMsgId*/, "Minha primeira mensagem", /*nMensure*/, /*nElapseTime*/, /*aMessage*/)
//Começo das mensagens
nBegin := Seconds()
nQtdMsg := 12 //Número máximo de mensagens
cMsg := "Mensagem que não será apresentada caso a função FWLogMsg seja direcionada com console (ConOut)"
for nI := 1 to 12 step 2
//Mensagem simples, informando todos os parâmetros
FWLogMsg("INFO", "LAST", "MeuGrupo", "MinhaCategoria", cValToChar(nI) , "MeuID", "Meu registro de sistema", nQtdMsg, Seconds() - nBegin)
aMessage := {}
//Informações adicionais
aAdd(aMessage, {"Date", Date()})
aAdd(aMessage, {"Hour", Time()})
if getRemoteType() != NO_REMOTE
aAdd(aMessage, {"Computer", GetClientIP()})
aAdd(aMessage, {"IP", GetClientIP()})
endif
//Quando enviado o parâmetro de aMessage, o parâmetro cMessage não é exibido no console
FWLogMsg("INFO", "LAST", "MeuGrupo", "MinhaCategoria", cValToChar(nI +1) , "MeuID", cMsg, nQtdMsg, Seconds() - nBegin, aMessage)
aSize(aMessage, 0)
next
return |
Atenção
Quando o parâmetro aMessage é enviado e a função FWLogMsg está exibindo as informações no console via ConOut, o parâmetro cMessage é omitido do console, esse comportamento foi adotado para evitar a sobrecarga de informações no console.log.
Observações
Esta API refere-se a padronização da linha Microsiga Protheus sobre a implementação da API LogMsg da Virtual Machine.
1) O Id do agrupador da mensagem é um código padronizado entre todas as linhas de produto TOTVS e visa identificar um agrupamento de mensagem relacionadas
2) O Id da categoria da mensagem é uma sub-divisão do Id do agrupador da mensagem e é padronizado entre todas as linhas de produto TOTVS.
3) O Id do passo da mensagem, indica uma etapa de avança de terminada transação que é monitorada. Pode ser ou não padronizada nas linhas de produto.
4) O Id do código do mensagem é padronizado dentro da linha TOTVS
5) A mensagem de log é livre, mas deve ser clara e simples
6) A unidade de medida da mensagem é padronizada entre as linhas de produto TOTVS e visa fornecer um balanço de comparativo de tempo
7) O tempo decorrido visa fornecer um parâmetro de desempenho do sistema em determinadas operações. Em alguns casos é padronizado.
1) O Id do agrupador da mensagem é um código padronizado entre todas as linhas de produto TOTVS e visa identificar um agrupamento de mensagem relacionadas
2) O Id da categoria da mensagem é uma sub-divisão do Id do agrupador da mensagem e é padronizado entre todas as linhas de produto TOTVS.
3) O Id do passo da mensagem, indica uma etapa de avança de terminada transação que é monitorada. Pode ser ou não padronizada nas linhas de produto.
4) O Id do código do mensagem é padronizado dentro da linha TOTVS
5) A mensagem de log é livre, mas deve ser clara e simples
6) A unidade de medida da mensagem é padronizada entre as linhas de produto TOTVS e visa fornecer um balanço de comparativo de tempo
7) O tempo decorrido visa fornecer um parâmetro de desempenho do sistema em determinadas operações. Em alguns casos é padronizado.
Códigos padronizados para a equipe de Segmentos do Microsiga Protheus:
ID | Valor |
Agrupador | "BusinessObject" |
Categoria | Rotina de menu (Exemplo: "MATA010") |
O log de Debug somente é ativado pela chave no environment FWLOGMSG_DEBUG=1
** Quando o LogServer não esta ativo é escrito no ConsoleLog do AppServer a seguinte estrutura de mensagem:
[Id do Produto][Data e Hora][Severidade][Id da Mensagem][sStrData no padrão SysLog][texto da mensagem]
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas