LogMsgRegistra uma mensagem de log com as informações do sistema no formato SysLog (RFC 5424), e automaticamente insere informações como: data e hora da geração da mensagem, hostname e id da thread. O Log é expedido para o servidor de log (LogServer) 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. | Sintaxe | | | LogMsg( < cFunc >, < nFacility >, < nSeverity >, < nVersao >, < cMsgId >, < cStrData >, < oMsg1 >, < oMsg2 >, ... ) |
| Parâmetros | | | Nome | Tipo | Descrição | Obrigatório | Referência | cFunc | Caracter | Nome da função/aplicação onde o log está sendo gerado | X | | nFacility | Numérico | Chave de armazenamento do valor | X | | nSeverity | Numérico | Valor a ser armazenado na chave | X | | nVersao | Numérico | Número da versão | X | | cMsgId | Caracter | Identificador da mensagem | X | | cStrData | Caracter | Dados estruturados | X | | oMsgN | Qualquer tipo | Mensagem a ser logada | | |
| Retorno | | | | Observações | Conteúdo dos campos: Nome | Conteúdo simplificado | Exemplo1 | Exemplo 2 | cFunc | ‘’ / de 1 até 48 caracteres printáveis | ‘testLog’ | ‘’ | nFacility | De 0 até 23 | 22 | 23 | nSeverity | De 0 até 7 | 5 | 3 | nVersao | De 1 até 999 | 123 | 32 | cMsgId | ‘’ / de 1 até 32 caracteres printáveis | ‘’ | ‘MSG00048’ | cStrData | ‘’ / ‘[‘ ID NOME1=”valor1” NOME2=”valor2”] | ‘’ | ‘[pagto soma=”543”]’ | oMsgN | Qualquer caracter | ‘Mensagem de Log1’ | ‘Erro de cálculo da folha de pagamento’ |
- Conteúdo simplificado: Para a descrição completa dos campos ver na RFC 5424, todavia para facilitar o uso dos campos: cFunc, sMsgId e cStrData,caso não seja fornecido nenhum valor (‘’), o valor nulo (NILVALUE)(‘-’) será inserido.
- caracteres printáveis: são letras, números, sinais e que não contém espaços ou tabulações. Na tabela ASCII são os caracteres compreendidos entre os valores 33( ! ) e 126( ~ ).
- O tamanho de todos os campos da mensagem de log não devem ultrapassar 10000 bytes.
Para uma completa descrição de todos os campos segue a equivalência de cada campo da mensagem com os campos descritos no documento RCF 5424. Documentos: | | | Exemplo | | | … #define FAC_FRAME_ 22 #define SEV_WARN_ 4 … LogMsg("tmsglog", FAC_FRAME_, SEV_WARN_, 1, "", "", "Mensagem de alerta do Frame") ... |
|
|