ASP.NET MVC – Catalogando erros e gerando logs com NLog – Rafael Zaccanini
O que é o NLog?
O NLog é uma biblioteca de código livre, onde permite processar mensagens de diagnóstico emitidas de qualquer linguagem . NET (C# ou Visual Basic).
Para mais informações e download do NLog clique aqui.
Catalogando e gerando o Log
Seguindo o artigo anterior, a primeira coisa a se fazer para que seja possível catalogar os erros, é justamente referenciar a DLL do NLog, conforme a figura 1.0
Agora iremos criar dois diretórios na raiz de nosso projeto, um chamado "ClassesLog" e outro chamado "Logs".
No diretório "ClassesLog" iremos colocar todas as classes e interfaces de apoio referentes ao NLog, já na "Logs" será armazenado os logs com as informações sobre os erros gerados pelo sistema.
As classes e interfaces necessárias são:
LogUtility.cs
NLogLogger.cs
A figura 2.0 demonstra como deve ficar a estrutura de nosso projeto:
Conteúdo das Classes e Interfaces de apoio
Observe que a interface destrincha as assinaturas dos métodos, que no caso são os tipos de ações de eventos do sistema, onde será possível catalogar. São eles, informativos, warnings, erros e erros fatais.
Classe NLogLogger
Esta classe efetivamente implementa a interface ILogger. Note que, ao enviar a Exception como parâmetro nos métodos Error e Fatal, é chamado método BuildExceptionMessage localizado na classe LogUtility.
Classe LogUtility
Classe de apoio, realiza o tratamento da Exception enviada como parâmetro nos métodos da classe NLogLogger. É responsável por obter a URL do erro, a mensagem juntamente com a origem, a StackTrace e o método relacionado ao erro gerado.
Classe Log
Esta classe efetivamente retorna uma instancia da classe NLogLogger.
Para realizarmos a configuração final do NLog é muito simples, a imagem abaixo demonstrará como podemos configurar o arquivo de configuração, chamado NLog.config, para o catalogo dos erros gerados, a geração do evento do erro no Windows e o envio automático de e-mail com as informações do erro.
Atenção: Apenas atente-se que, o arquivo NLog.config deve ficar na raiz do projeto.
Agora sim, basta colocarmos o seguinte código ClassesLog.Log.GetLogger().Error(error); em nosso Cath do método e se rodarmos nossa aplicação de teste note que, é catalogado o erro, enviado o e-mail e criado o evento no Windows:
Catalogo no arquivo log.txt
Evento de erro do Windows
Para realizar o download do projeto clique aqui.
2 thoughts on "ASP.NET MVC – Catalogando erros e gerando logs com NLog"
Pingback: Tweets that mention ASP.NET MVC – Catalogando erros e gerando logs com NLog « Rafael Zaccanini .NET -- Topsy.com