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!