Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
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 |
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"} } | {} |
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.
ID | Valor |
Agrupador | "BusinessObject" |
Categoria | Rotina de menu (Exemplo: "MATA010") |