sexta-feira, 29 de abril de 2016

Configurando Logs no ambiente de desenvolvimento

Esta postagem aborda como configurar o projeto de log para a solution CadeOArtista.

Primeiro vá no seu disco local C:\ e crie a pasta CadeOArtista, veja a figura 01.

Figura 01: Criando pasta CadeOArtista.

Vá na pasta Logs dentro do projeto CadeOArtista.Commons. Em seguida copie e cole o arquivo Log4NetConfig.xml na pasta criada anteriormente. 
Este arquivo contém todas as configurações para o funcionamento do log4net na solution, criar este arquivo esterno foi a única forma de evitar copiar as mesmas configurações em App.config ou Web.config em todos os projeto da solution..

O projeto CadeOArtista.Commons contém recursos que serão utilizados por todos os outros projetos da solution ou seja recursos comuns.

Após copiar o arquivo, deve ser criado o banco de dados com a tabela LogTable ela deve ficar como está na Figura 02.

Figura 02: Tabela LogTable.

Para criar o banco e a tabela execute o script Nexu/Desenvolvimento/CadeOArtistaLogDb.LogTable.Script.sql.

Vá no arquivo Log4NetConfig.xml na pasta C:\CadeOArtista\ e mude a string de conexão para a da maquina que irá ser usada.


Projeto CadeOArtista.Commons pode ser visto na figura 03.

Figura 03: CadeOArtista.Commons.


Dentro do projeto CadeOArtista.Commons há a pasta Logs, está contém uma classe nomeada de ObjetoLogger.cs que é genérica e com métodos estáticos que serão necessários para gerar mensagens de logs.

A figura 04 mostra a definição da classe ObjetoLogger.cs:

Figura 04: Definição da classe ObjetoLogger.cs.

Com todos os passos executados anteriormente, agora para utilizar a classe ObjetoLogger.cs é fácil, veja a figura 05.


Figura 05: Utilizando a classe ObjetoLogger.cs.

Executando o exemplo acima temos a seguinte saída no banco de dados no SQL Server. Veja a figura 06:

Figura 06: Executando um select na tabela LogTable.


Ainda falta finalizar algumas configurações, como não salvar mensagens de Debug e Info no banco, pois não interessa, na minha opinião esse tipo de mensagem só vai sujar o banco, além de consumir muitos recursos. Também será necessário configurar a exclusão de registros de Logs assim que se tornarem muito antigos. 
Estou tentando configurar o envio de e-mail, para que quando ocorrer um erro fatal todos da equipe possam receber um e-mail informando.


Era isso.


I'll be back!




Nenhum comentário:

Postar um comentário