Build Brasil
Treinamentos FCamara
Criando Log com a Enterprise Library

Olá pessoal,

Hoje vou comentar um assunto que muito me agrada no processo de desenvolvimento.
A criação de log’s. Os log’s são de extrema importância em qualquer aplicação.
Atire a primeira pedra aquele que nunca deu um Response.Write no ambiente de produção com a fonte na cor branca?

Quem já fez, com certeza deve estar morrendo de rir neste exato momento.
Quem não fez, deve estar pensando: ”Putz, como eu nunca pensei nisso antes?”.

Pensando nisso eu decidi criar um post introdutório em como usar a biblioteca
Microsoft.Practices.EnterpriseLibrary.Logging. Então vamos ao que interessa e criar uma aplicação.

O primeiro passo é criar um projeto do tipo “Web Application”. Dê um nome ao projeto que mais agrade você. Eu criei como “ArtigoLog_EL”.

Com o projeto criado, temos que adicionar 3 dll’s ao projeto:

  • Microsoft.Practices.EnterpriseLibrary.Common
  • Microsoft.Practices.EnterpriseLibrary.Logging
  • Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Design

01

O próximo passo é configurar os parâmetros do Log. Para isso clicamos com o botão direito em cima do arquivo “Web.config” e selecionar a opção ”Edit Enterprise Library Configuration”.

Essa ação irá fazer com que a tela de configuração apareça.

A tela é bem direta e simples. Nessa tela podemos configurar qualquer objeto quando se trata de Enterprise Library.

O passo seguinte será criar o bloco de configuração para log.
Para criar esse bloco, devemos clicar com o botão direito do mouse em cima da pasta de configuração, em seguida em “New” e depois em “Logging Application Block”.

03

Quando o logging application block é criado, uma configuração padrão é criada.
Como o nosso intuito aqui é aprender, vamos limpar toda a configuração e deixar igual à imagem abaixo:

04

Vocês podem notar abaixo que apenas uma configuração não foi removida, a configuração dos formatos. A imagem abaixo mostra o porque não foi apagada.

05

O motivo é por que ela já vem com todas as informações úteis para descobrirmos qual a origem do erro. Como tem as informações que precisamos, não vamos mudar. Como diz o ditado “Em time que está ganhando não se meche”.

O próximo passo é criar um “Trace Listeners”. Esse cara é responsável em gerar um output das informações. Ou seja, Ele vai salvar a string da mensagem template (imagem acima). Para saber quais são as formas possíveis, clique com o botão direito do mouse sobre o “Trace Listener” em seguida em “New”. Uma lista com as opções será mostrada. Para saber mais sobre as opções visite a seção “Referência” no final deste artigo. Para demonstrar o funcionamento, vou usar a opção “Flat File Trace Listener”, que nada mais é do que um txt comum.

06

Assim que o Trace Listener estiver criado, devemos fazer alguns ajustes nas propriedades.
Vamos ajustar as propriedades “Filename”, “Formatter” e “Name”, deixando-as igual a imagem abaixo:

07

Para finalizar as configurações do log, temos que criar uma referência em categorias a esse “Trace Listener” que acabamos de criar.

Clique com o botão direito em “Category Sources” –> “General”

09

Após a criação da referência, devemos atualizar a propriedade “ReferencedTraceListener” para “ArquivoFisico” (TraceListener criado no passo anterior).

08

Pronto, as configurações do LOG estão criadas. Agora vamos usá-las.

Dentro do evento “Page_Load” vamos colocar o seguinte código:

protected void Page_Load(object sender, EventArgs e) {
    LOG.LogEntry logEntry = new LOG.LogEntry();

    logEntry.Categories.Add("General");
    logEntry.Severity = TraceEventType.Information;
    logEntry.Title = "Título Log Erro";
    logEntry.Message = "Mensagem de erro que queremos logar.";

    LOG.Logger.Write(logEntry);
}

O próximo passo é executar a aplicação. Assim que a página terminar sua execução, se você abrir o arquivo de log ( como configurado para o LOG - “C:\temp\trace.log”) devemos ter o seguinte resultado:

10

Até a próxima pessoal.

Referência

[ MSDN – Loggin Application Block ]

Conclusão

Com essa introdução, espero que a imagem de simplificar o log dos aplicativos tenha melhorado.
Normalmente vemos o log como a fase 2 do projeto. Se essa parte do projeto for bem contruída,
com certeza o log será um show a parte do sistema.


Posted 1 Jun 2009 21:47 by Marcos Sabino Filho
Copyright© Build Brasil 2004 - 2009 - Todos os Direitos Reservados
Powered by Community Server (Commercial Edition), by Telligent Systems