Logs

O MenuFlex diponibiliza dois tipos de Log:

  • Log de eventos dos dicionários de dados 
  • Log de eventos do sistema 

Com estes dois arquivos de auditoria o administrador do sistema possui uma ferramenta completa para rastrear erros dos usuários e também do próprio sistema. Em ambos os Logs os eventos mais recentes serão exibidos no topo.

Logs de eventos dos dicionários de dados

Log Data Dictionary

A tela "Log de eventos dos dicionários de dados" é usada para consultar eventos gerados por objetos de dicionário de dados. A tela possui recursos de filtros por data, usuário, tipo de evento, tabela e campo e também opções de exclusão e exportação do log.

A primeira grid exibe informações gerais sobre a operação executada:

  • Data, hora, minuto e segundo: a hora exata em que o evento ocorreu;
  • Módulo: a identificação do módulo em que o evento ocorreu. Para mais detalhes sobre como dividir o sistema em módulos consulte "Dividindo o sistema em módulos";
  • Usuário: o usuário do sistema que gerou o evento;
  • Evento: o evento ocorrido - inclusão, alteração ou exclusão;
  • Nm. tabela: nome da tabela na qual ocorreu o evento;
  • Nm. cliente: se o usuário estiver executando o sistema via Terminal Server, esta coluna exibirá o nome do seu computador local;
  • Nm. computador: é o nome do computador que executou o evento. Se o usuário estiver executando o sistema via Terminal Server esta coluna exibirá o nome do servidor. Caso contrário será o nome da máquina do usuário;
  • Domínio: é o domínio do computador cujo nome é exibido em Nm. computador;
  • Login (windows): é o nome do usuário do Windows que executou a operação;
  • Nr. IP: é o número do endereço IP do computador que gerou o evento;

Logo abaixo da primeira grid, o campo "Objeto origem" exibe o nome completo do objeto que gerou o evento. Esta informação é extremamente útil para depuração.

A segunda grid exibe informações em três colunas:

  • Campo: o nome do campo e a sua posição dentro do registro;
  • Valor do campo antes do evento: como o nome indica, exibe o valor do campo antes do evento ocorrer. Se o evento for uma inclusão o conteúdo desta coluna será branco;
  • Valor do campo após o evento: como o nome indica, exibe o valor do campo após o evento ocorrer. Se o evento for uma alteração, esta coluna exibirá o novo valor salvo no campo;

Note que nem todos os campos serão exibidos na segunda grid. Por exemplo, em uma alteração de registro somente os campos que realmente foram alterados ou que façam parte do primeiro índice da tabela serão "logados".

A barra de ferramentas existente no grupo "Critérios de seleção" fornece as seguintes opções: 

  • Atualizar: esta opção irá atualizar os registros exibidos com base nas opções de filtro informadas pelo usuário;
  • Exportar: exporta todos os eventos para um arquivo XML;
  • Exportar com filtro: exporta todos os eventos que satisfazem os critérios de seleção informados para um arquivo XML;
  • Excluir: esta opção irá excluir todos os registros existentes na base de log de eventos;
  • Excluir com filtro: exclui todos os eventos que satisfazem os critérios de seleção informados;
  • Restaurar: permite restaurar um registo excluído. Note que nem sempre será possível restaurar o registro. Se outros registros foram criados após a exclusão pode ocorrer duplicidade de índices. Além disso, ao restaurar o registro ele será restaurado da forma exata que estava quando foi excluído, sem respeitar nenhuma regra de validação ou atualização do dicionário de dados. Esta opção deve ser utilizada com extremo cuidado;
  • Restaurar com filtro: restaura registros excluídos que satisfazem a seleção atual. Essa oção permite restaurar todos os registros excluídos que satisfazem a seleção de registros atualmente em uso. Note que nem sempre será possível restaurar o registro. Se outros registros foram criados após a exclusão pode ocorrer duplicidade de índices. Além disso, ao restaurar o registro ele será restaurado da forma exata que estava quando foi excluído, sem respeitar nenhuma regra de validação ou atualização do dicionário de dados. Esta opção deve ser utilizada com extremo cuidado.

Logs de eventos do sistema

Logs de eventos do sistema

A tela Log de eventos do sistema exibe registros de três tipos de informações: 

  • Informação: um exemplo deste evento é a entrada de um usuário no sistema. Sempre que um usuário se loga no sistema é gerado um log informando este fato. 
  • Alerta: um exemplo deste evento é quando uma das tabelas DataFlex atinge a utilização de registros igual ou superior à porcentagem definida nas configurações para o alerta. 
  • Erro: qualquer erro ocorrido no sistema será logado. Esta é uma informação muito útil para localizar erros de programa e também erros de usuário. 

As colunas da grid exibem as seguintes informações: 

  • Tipo: um dos tipos de evento descrito acima;
  • Data, hora, minuto e segundo: a hora exata em que o evento ocorreu;
  • Módulo: a identificação do módulo em que o evento ocorreu;
  • Nr. erro: número do erro, no caso de eventos de erro;
  • Usuário: o usuário do sistema que gerou o evento;
  • Evento: o evento ocorrido - inclusão, alteração ou exclusão;
  • Nm. cliente: se o usuário estiver executando o sistema via Terminal Server esta coluna exibirá o nome do seu computador local;
  • Nm. computador: é o nome do computador que executou o evento. Se o usuário estiver executando o sistema via Terminal Server esta coluna exibirá o nome do servidor. Caso contrário será o nome da máquina do usuário;
  • Domínio: é o domínio do computador cujo nome é exibido em Nm. computador;
  • Login (windows): é o nome do usuário do Windows que executou a operação;
  • Nr. IP: é o número do endereço IP do computador que gerou o evento;
  • Evento: a descrição do evento ocorrido;

Logo abaixo da grid o campo "Objeto origem" exibe o nome completo do objeto que gerou o evento. Esta informação é extremamente útil para depuração.

Em "Critérios de seleção" pode-se filtrar os registros por data, usuário, tipo e número de erro. Os botões disponíveis nesta barra tem funções análogos aos da barra de log de eventos dos dicionários de dados. Consulte o tópico anterior para mais detalhes. 

O programador poderá através do procedimento global AdicionaLogEvento gerar seus próprios Logs de eventos em operações que considerar importantes. 

Cadastro de logs arquivados

Na guia "Manutenção" da tela "Configurações do sistema de menu" existe uma opção de configuração chamada "Alertar usuário se o Log tiver mais de # registros". Quando o usuário ADMIN ou um super-usuário fizer login no sistema e a quantidade de registros na tabela LogItens estiver maior do que a quantidade de registros especificada nesta configuração, o usuário receberá o seguinte aviso:

Alerta de Log usuário admin

Se o usuário responder "Sim" o processo de arquivamento do Log iniciará. Esta opção só irá funcionar se nenhum outro usuário estiver usando o sistema.

Se o usuário não for o ADMIN ou não for um super-usuário, ou seja, se for um usuário padrão, mas estiver com a opção "Alertar sobre log" ligada em sua conta, a mensagem exibida será: 

Alerta de log para usuário padrão

Um usuário padrão não poderá iniciar a operação de arquivamento de Log. 

O processo de arquivamento de Log

O processo de arquivamento de log foi criado para atender uma necessidade de sistemas que usam arquivos DataFlex e que possuem um grande volume de operações diárias. Nesta situação o arquivo de Log pode exceder à capacidade máxima de registros em alguns meses.

O processo de arquivamento de log é executado da seguinte forma:

  • Cria um subdiretório dentro da pasta Data da Workspace com o nome ArquivoLog#, onde # é um número sequencial;
  • Copia os arquivos Logdd e LogItens para a pasta criada no item anterior;
  • Criar um registro na tabela ARQLOGS cadastrando o Log que foi arquivado;
  • Elimina todos os registros das tabelas Logdd e LogItens e zera o contador de identificadores de registro da tabela Logdd.

Consultando Logs arquivados

Os registros de logs arquivados podem ser consultados na tela "Cadastro de logs arquivados":

Cadastro de logs arquivados

O registro gerado automaticamente pelo processo de arquivamento de logs sempre colocará a data do primeiro e do último registro na descrição e nos campos específicos, e também o nome da sub-pasta da pasta Data\ onde foram arquivados os registros do período.

Ao clicar no botão "Visualizar" a tela de consulta de logs será aberta e exibirá os registros de Logs do arquivamento posicionado. 

Observação: A exclusão de um registro nesta tela não irá apagar a pasta em disco, somente o registro da tabela ARQLOGS. 

Quando existir ao menos um Log arquivado, ao pressionar o botão de consulta de log na barra de ferramenta de uma view qualquer a seguinte tela será exibida:

Escolha de Log

Escolhendo a opção "Atual" o usuário visualizará os registros de log existentes nas tabelas de log atuais do sistema. Escolhendo a opção "Arquivado" o usuário poderá escolher um dos registros de logs arquivados existentes.

Não encontrou o que precisava, entre em contato conosco.