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 RM Tracklog. 
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. HABILITAR TRACKLOG E INSTALAÇÃO SERVIDOR SEQ

Para informações sobre como habilitar o tracklog e instalar o servidor de logs em tempo real (Servidor Seq), favor ler a documentação, conforme link 0.3.4 - Logs -RM Tracklog.


03. UTILIZAÇÃO DO SERVIDOR SEQ


Realizada a instalação do Servidor Seq, incluídos os arquivos de configuração do log e alterados os arquivos para inclusão da tag de gravação de log e reinício dos serviços do Host e IIS, abrir no navegador com a URL configurada na instalação do servidor Seq.

Ao acessar o endereço, poderá ser solicitado o usuário e senha informados na instalação:


Ao pressionar o ícone de Play, serão listados os logs gravados no período informado. 


02.1 APLICAÇÃO DE FILTROS PARA ACOMPANHAMENTO

No servidor Seq é possível aplicar filtros para facilitar o acompanhamento dos logs que estão sendo gravados.

Além dos filtros por Nível (Level), como Warning e Errors, é possível filtrar por Logs de um Módulo, Categoria e Funcionalidade.

Para isto, no campo de busca, ao ládo do botão de Play, basta informar os campos que deseja filtrar:


  • Aplicando filtro pelo Módulo: No caso, se for necessário analisar somente os logs do Meu RH, o módulo a ser filtrado será MeuRH, conforme demonstrado abaixo: 




  • Aplicando filtro por Categoria: É possível filtrar por uma categoria que contenha mais de uma funcionalidade. Como exemplo no Meu RH temos a Categoria de Funcionário. Dentro dela existem várias funcionalidades como Perfil, Atualização de dados pessoais, Atualização de endereço, Atualização de contatos, Foto, Próximas férias.




  • É possível filtrar por logs de uma funcionalidade específica, seguindo o exemplo da categoria de Funcionário, pode ser aplicado um filtro para listar apenas pela funcionalidade de listagem de logs relacionado a busca de dados do perfil, por exemplo, conforme imagem abaixo:



  • Os filtros podem ser aplicados em forma conjuta, ou seja, mais de um filtro, seguindo a sequência proposta, podemos aplicar um filtro por módulo, categoria e funcionalidade, conforme abaixo: 




  • Além deste filtros é possível filtrar por um intervalo de datas e horários:




  • Outros possíveis campos a serem filtrados: CallerFilePath, CallerLineNumber, CallerMemberName, Category, EnvironmentName, EnvironmentUserName, Funcionality, GetTypeName, MachineName, Module, ProcessId, ProcessName, ServerName, Tenant, ThreadId.


03.2 CATEGORIAS E FUNCIONALIDADES DISPONÍVEIS PARA CONSULTA DE LOG NO MEU RH:

A gravação de logs utilizando RM Tracklog está sendo implementada de forma progressiva para as funcionalidades. Abaixo é possível identificar quais categorias e funcionalidades já podem ter seu log capturado e analisado:


03.2.1 CATEGORIAS:

Abaixo estão listadas as categorias e funcionalidades.
Para cada funcionalidade estão listadas as rotas que irão ter seu log gravado, com base na funcionalidade.


  • Api:
    • Cookie;
    • Token;


  • Login:
    • Cookie:
      • rest/auth/login;
      • rest/auth/isLogged;
      • rest/auth/isFirstLogin;
      • rest/auth/isFirstLoginAuthentic;
    • Token;
      • rest/new/auth/login/token;
      • rest/new/auth/login;
      • rest/new/auth/isLogged;
      • rest/new/auth/isFirstLogin;
      • rest/new/auth/isFirstLoginAuthentic;
      • rh/v1/auth/isLogged;
    • OAuth;
      • rest/new/auth/login/TokenPrincipal;
      • rest/new/auth/forceoauthlogin;
    • SAML;
    • Fluig:
      • rest/auth/login/fluigIdentity;
      • rest/new/auth/login/fluigIdentity;
    • RefreshToken:
      • rest/auth/login/refreshToken;
      • rest/new/auth/login/refreshToken;
    • RecoveryPassword:
      • rest/auth/renewPassword;
      • rest/new/auth/renewPassword;
      • rest/new/auth/resetPassword;
    • ChangePassword:
      • rest/auth/resetPassword;
      • rest/auth/ChangePassWithLastPass;
      • rest/new/auth/ChangePassWithLastPass;


  • Logout:
    • Cookie:
      • rest/auth/logout;
    • Token:
      • rest/new/auth/logout;


  • General: 
    • SystemVersion;
      • rest/setting/version;
    • CompanySettings;
      • rest/setting/companySettings;
      • rest/new/setting/companySettings;
      • rh/v1/setting/companySettings;
    • Permissions;
      • rest/setting/permissions;
      • rest/new/setting/permissions;
      • rh/v1/setting/permissions;
    • HealthCheck:
      • rest/new/services/healthcheck;
      • rh/v1/services/healthcheck;


  • Context:
    • Contexts; 
      • rest/setting/contexts;
      • rest/new/setting/contexts;
      • rh/v1/setting/contexts;
    • CurrentContext;
      • rest/setting/context (GET);
      • rest/new/setting/context (GET);
      • rh/v1/setting/context (GET);
    • UpdateCurrentContext;
      • rest/setting/context (PUT);
      • rest/new/setting/context (PUT);
      • rh/v1/setting/context (PUT);


  • Employee:
    • Profile;
      • rest/data/profile;
      • rest/data/profile/summary;
      • rest/new/data/profile;
      • rest/new/data/profile/summary;
      • rh/v1/data/profile;
      • rh/v1/data/profile/summary;
    • Photo;
      • rest/data/profile/image;
      • rest/new/data/profile/image;
      • rh/v1/data/profile/image;
    • IsCoordinator;
      • rest/data/profile/isCoordinator;
      • rest/new/data/profile/isCoordinator;
      • rh/v1/data/profile/isCoordinator;
    • NextVacationDatePeriod;
      • rest/events/vacationDate;
      • rest/new/events/vacationDate;
      • rh/v1/data/profile/events/vacationDate;
    • UpdateAddress;
      • rest/data/profile/address;
      • rest/new/data/profile/address;
      • rh/v1/data/profile/address;
    • UpdateContacts;
      • rest/data/profile/contacts;
      • rest/new/data/profile/contacts;
      • rh/v1/data/profile/contacts;
    • UpdatePersonalData;
      • rest/data/profile/personalData;
      • rest/new/data/profile/personalData;
      • rh/v1/data/profile/data/profile/personalData;
    • UpdateDocument;
      • rest/data/profile/document;
      • rest/new/data/profile/document;
      • rh/v1/data/profile/document


  • Team:
    • NotificationTotalizer;
      • rest/request/notifications/count;
      • rest/new/request/notifications/count;
      • rh/v1/request/notifications/count;
    • BalanceSummary;
      • rest/team/timesheet/balanceSummary;
      • rest/new/team/timesheet/balanceSummary;
      • rh/v1/team/timesheet/balanceSummary;
    • Birthdates;
      • rest/team/birthdates;
      • rest/new/team/birthdates;
      • rh/v1/team/birthdates;


  • Payment:
    • Available:
      • rest/payment/available;
      • rest/new/payment/available;
      • rh/v1/payment/available;


  • PushNotification:
    • Settings;
      • rest/push/settingParameter;
      • rest/new/push/settingParameter;
      • rh/v1/push/settingParameter;
    • AmountNotifications;
      • rest/request/notifications/pushNotification/count;
      • rest/new/request/notifications/pushNotification/count;
      • rh/v1/request/notifications/pushNotification/count;


  • Tae:
    • GenerateToken;
      • rest/tae/token;
      • rest/new/tae/token;
      • rh/v1/tae/token;
    • Dashboard;
      • rest/tae/dashboard;
      • rest/new/tae/dashboard;


  • Timesheet:
    • BalanceSummary:
      • rest/timesheet/balanceSummary;
      • rest/new/timesheet/balanceSummary;
      • rh/v1/timesheet/balanceSummary;


Dicas


  • Quando o ambiente do cliente estiver configurado para usar token, além das categorias respectivas é importante adicionar a categoria Api e a funcionalidade Token. Isso acontece, pois quando é utilizado token, o sistema realiza um redirecionamento. Para obter os logs desse redirecionamento deverá ser observado os logs da categoria Api e a funcionalidade Token.


  • Quando a utilização de Token estiver habilitada, devido a uma restrição da engenharia do RMSTracklog, não está sendo possível obter as informações de Tenant. Desta forma, os logs do lado do Meu RH estão como ambiente compartilhado (Shared Environment);




  • Sem rótulos