#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 |