ASP .NET - Usando os recursos do Logging com o Application Blocks


 Gravar informações de log de uma aplicação é um recurso básico e fundamental para uma aplicação robusta quer por razões de auditoria, segurança, rastreamento ou apenas informação.

Você pode criar o sua próprio aplicação para registrar sua atividade em um log, mas a menos que a situação realmente exija esse trabalho, você pode usar os recursos do Application Blocks.

A Microsoft criou a Microsoft Enterprise Library que pode ser entendida como uma biblioteca desenvolvida pelo time de padrões e práticas da Microsoft com o objetivo de solucionar os problemas comuns que os desenvolvedores encontram nos projetos de software. Necessidades como tratamento de exceções, validação, logging e instrumentação (entre outras) costumam se repetir freqüentemente no desenvolvimento de aplicações corporativas; A Microsoft Enterprise Library endereça estes cenários através de componentes reutilizáveis chamados de Application Blocks.

Podemos pensar, de maneira didática, na Microsoft Enterprise Library como blocos de aplicações ou componentes modulares, que podem ser reusados em projetos de software de acordo com a necessidade com o objetivo de criar projetos com bom padrão de código, instalação e configuração.

Desta forma a Enterprise Library oferece um conjunto de bibliotecas extensíveis para construir aplicações robustas e escaláveis onde temos blocos com padrões de codificação para Acesso a Dados, Criptografia, Tratamento de exceções, Segurança, Validação , Logging, Caching e Política de Injection.

Ora , se é assim então ... Não vamos reinventar a roda... Vamos usar os os recursos do Application Blocks em nossa aplicação para realizar o logging.

Neste artigo eu mostro como usar os recursos de logging da Application Blocks em uma aplicação ASP .NET usando a linguagem C#.

Recursos usados:

Criando o projeto no Visual Studio 2013 Express for web

Abra o VS Express 2013 for web e clique em New Project;

A seguir selecione a linguagem Visual C# e o template ASP .NET Web Application;

Informe o nome AspNet_Logging_ApplicationBlocks e clique no botão OK;

A seguir selecione o template Empty e clique no botão OK;

No menu PROJECT clique em Add New Item;

Selecione o template Web Form e informe o nome Default.aspx e clique no botão Add;

A seguir inclua  um botão de comando(Button) a partir da Toolbox na página Default.aspx informando o nome btnLogging e com texto : Registrar Atividade no Log

Baixando a Microsoft Application Blocks - Enterprise Library 4.0

Vamos baixar a Enterprise Library 4.0 a partir do seguinte link : Enterprise Library 4.0 - May 2008  

Após baixar o arquivo instale-o em sua máquina. Geralmente ele é instalado na pasta : \Program Files (x86)\Microsoft Enterprise Library 4.0 - May 2008

Após a instalação localize a pasta e clique duas vezes no aplicativo EntLibConfig:

Será aberta a janela Enterprise LIbrary Configuration. Clique no ícone para abrir um arquivo:

Localize a pasta onde você salvou a sua aplicação ASP .NET e selecione o arquivo web.config:

Clique com o botão direito sobre a sua aplicação e no menu suspenso clique em New -> Logging Application Block;

Por padrão o utilitário de log registra o log no log de eventos. Então, você verá em Trace Listeners uma entrada criada para o EventLog já adicionada.

Clique em Formatted EventLog TraceListener e informe o nome da sua máquina. No meu caso a máquina se chama Ma-PC.

Clique no ícone para salvar as configurações feitas e encerrar esta etapa.

Definindo a referência e o código para Logging

Agora que já temos a configuração definida para usar a ferramenta logging enterprise da Application Blocks vamos definir o código na página Default.aspx.

Primeiro temos que incluir uma referência as DLL´s do logging. Para isso clique no menu PROJECT e a seguir em Add Reference e localize a pasta onde instalou a Enterprise LIbrary e selecione as DLLs de Logging:

Após selecionar clique no botão OK;

Agora podemos incluir uma referência ao namespace do Logging na página Default.aspx:

using Microsoft.Practices.EnterpriseLibrary.Logging;

E a seguir no evento Click do botão de comando - Registrar Atividade no Log - inclua o código abaixo:

using System;
using Microsoft.Practices.EnterpriseLibrary.Logging;
namespace AspNet_Logging_ApplicationBlocks
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {}
        protected void btnLogging_Click(object sender, EventArgs e)
        {
            LogEntry oLogEntrada = new LogEntry();
            oLogEntrada.Message = "Teste de registro no log de evento usando Application Blocks Logging";
            oLogEntrada.Categories.Add("MacorattiTeste_Logging");
            Logger.Write(oLogEntrada);
        }
    }
}

Neste código criamos uma instância da classe LogEntry e definimos a mensagem a ser gravada no log.

Ao final usamos o método Write() para escrever a mensagem no log.

Agora execute o projeto e clique algumas vezes no botão de comando da página:

Ao fazer isso a mensagem que definimos será gravada no visualizador de eventos.

Para verificar o log de eventos e ver a nossa mensagem gravada clique no botão Iniciar do Windows e digite eventvwr e tecle ENTER.

Vemos assim o log de eventos exibindo as mensagens.

Pegue o projeto completo aqui: AspNet_Logging_ApplicationBlocks.zip

    João 6:35 Declarou-lhes Jesus. Eu sou o pão da vida; aquele que vem a mim, de modo algum terá fome, e quem crê em mim jamais terá sede.

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti