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
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”.
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:
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.
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.
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:
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”
Após a criação da referência, devemos atualizar a propriedade “ReferencedTraceListener” para “ArquivoFisico” (TraceListener criado no passo anterior).
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:
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