Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 6 Próxima »


01. VISÃO GERAL


Visando padronizar o processo de obtenção de Logs para identificação de problemas e fluxo de operações do Meu RH, foi implementado o Tracklog do RM. 
O RM TRACKLOG é o motor de logs do RM responsável por disponibilizar informações sobre o sistema através de arquivos de texto contendo data e hora do evento e mensagens criadas de forma automática.
Portanto, com o TRACKLOG, os logs são capazes de mostrar o que, quando e onde aconteceu um evento, além de indicar quem deu início a ele.


02. ARQUIVO DE CONFIGURAÇÃO

O TRACKLOG é configurado através do arquivo JSON appsettings.log.json, para a solução do Meu RH, este arquivo deve estar localizado no nível raiz da pasta Bin, dentro da pasta FrameHTML. Caso o arquivo não seja encontrado, o sistema assume as configurações padrões
O conteúdo do arquivo de configuração é divido em algumas sessões, conforme detalhado no item 2.3.

Atualmente, por questões técnicas da engenharia do RM, o RMSTracklog está disponível somente para registros de log em servidor Seq *


*Seq é um servidor de pesquisa e análise em tempo real para dados de log de aplicativos estruturados.

2.1 NÍVEIS (LEVEL) DE LOG

6/6

Ordem

Nível (Level)

Identificado no arquivo

Uso

5Fatal[FTL]O nível mais crítico, os eventos fatais exigem atenção imediata.
4Error[ERR]Quando a funcionalidade não está disponível ou as expectativas são quebradas, um evento de Erro é usado.
3Warning[WRN]Quando o serviço está degradado, em perigo ou pode estar se comportando fora de seus parâmetros esperados,
os eventos de nível de aviso são usados.
2Information[INF]Os eventos de informação descrevem coisas que acontecem no sistema que correspondem às suas responsabilidades e funções. 
Geralmente estas são as ações observáveis ​​que o sistema pode realizar.
1Debug[DBG]Debug é usado para eventos internos do sistema que não são necessariamente observáveis ​​de fora, mas são úteis para determinar como algo aconteceu.
0Verbose[VRB]Verbose é o nível mais ruidoso, raramente (ou nunca) habilitado para um aplicativo de produção.


2.2 INFORMAÇÕES CONTIDAS NO ARQUIVO DE LOG

O arquivo de log é escrito conforme um template padrão (outputTemplate):



outputTemplate
{SourceContext}{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Legacy} [{Level:u3}] {Message:lj} ({EnvironmentName}|{EnvironmentUserName}) <{ThreadId}:{ThreadName}>[{ProcessId}:{ProcessName}] [{CallerFilePath} - ({CallerLineNumber}) - {CallerMemberName}] [{Module}, {Category}, {Funcionality}] {NewLine}{Exception}

Propriedades do templete

Exemplo de dados logado

Descrição

{SourceContext}RM.Lib.Monitoring.Tracklog.Test.LogUnitTest

Contexto onde o log se encontra. Geralmente o namespace da classe que está usando o TrackLog.

{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} 2022-08-30 17:44:44.870 -03:00Data e hora do evento.
{Legacy} [LGC]Registros do sistema antigo de log são identificado com a tag [LGC]
[{Level:u3}] [INF]Nível (level) do evento.
{Tenant}shared-environmentIdentifica o Tenant do evento. Esse item é acoplado à mensagem.
{Message:lj} Information log testMensagem do evento.
({EnvironmentName}|{EnvironmentUserName}) (Production|JV01\valdemar.junior)Nome do ambiente e do usuário.
<{ThreadId}:{ThreadName}><13:Host>ThreadId e ThreadName do evento.
[{ProcessId}:{ProcessName}] [36956:Host.exe]ProcessId e ProcessName do evento.
[{CallerFilePath} - ({CallerLineNumber}) - {CallerMemberName}] [Lib\RM.Lib.Monitoring.Tracklog.TesteUnitario\LogUnitTest.cs - (114) - Should_Write_Info_Log]Arquivo de onde foi registrado o evento de log com o número da linha e o método que o chamou.
[{Module}, {Category}, {Funcionality}] [RMLib, SmartClient, Configuracao]Módulo, categoria e funcionalidade do sistema onde o evento ocorreu.
{NewLine}{Exception}NullReferenceException: Write Error Log Exception ---> System.Exception: Should_Write_Error_LogWarning, Error e Fatal é registrado e uma nova linha com a exceção



2.3 SESSÕES DO ARQUIVO DE CONFIGURAÇÃO


A a sessão principal do arquivo de configuração é a "Serilog", onde é informado como o sistema deve escrever o arquivo de log e os recursos que serão utilizados: 


  • Sessão principal Serilog


Sessão Principal

Subsesões 

Pode ser alterado?
Serilog


UsingNãoRecursos usados pelo Serilog 
EnrichNãoInformações usadas para enriquecer os dados do log.
MinimumLevelSimNível mínimo que deve ser registrado.
0-Verbose, 1-Debug, 2 - Information, 3-Warning, 4-Error, 5-Fatal
FilterSimUsa expressão para filtrar eventos que passam pelo pipeline Serilog - Opções de Name: ByExcluding ou ByIncludingOnly
WriteToSomente os argumentos na subseção Args da MapToFileDefine como e onde o log deve ser escrito e salvo.


  • Sessão que configura o envio do log para o sistema de monitoramento Seq

"WriteTo": [
      {
        "Name": "Seq",
        "Args": {

Propriedade

Descrição

serverUrlDefine a url do servidor Seq.


03. INSTALAÇÃO DE SERVIDOR SEQ



04. HABILITANDO TRACKLOG NO MEU RH


04.1 INCLUIR TAG NO ARQUIVO DO HOST

04.2 INCLUIR ARQUIVO DE CONFIGURAÇÃO NA PASTA FRAMEHTML

04.3 INCLUIR TAG NO ARQUIVO WEB.CONFIG DA FRAMEHTML




05. HABILITANDO TRACKLOG NO RH PARA LOG COMPLETO

  • Sem rótulos