LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Gravando Erros com Exception - Parte I

por Mauricio Junior em 1/1/2011 0

Usando arquivo de log.

 

 

 

Olá pessoal, meu nome é Mauricio Junior. Irei mostrar como gravar dentro de um arquivo de log, os erros gerados de dentro da sua aplicação. Nesse primeiro passo irei criar uma classe chamada AppException.cs com um método chamado LogErro.

 

Requisitos:

- Ferramenta Visual Studio.NET 2003 ou 2005;

- Conhecimento em escrita de arquivo;

- Conhecimento da linguagem C#.NET.

 

Criarei usando a IDE 2003 da Microsoft. (Referência 1.1 – Exception Parte I)

 

Referência: 1.1 – Exception Parte I

 

Criação da classe (Referência 1.2 – Exception Parte I)

 

 

Referência: 1.2 – Exception Parte I

 

 

A referência 1.2 apenas mostra a classe que gerei dentro da pasta WEB. No próximo passo é gerar o método que registra o log dentro do arquivo de erro.log. (Referência 1.3 – Exception Parte I)

 

 

public static void LogError(string message)

         {

              HttpContext context = HttpContext.Current;

              string filePath = context.Server.MapPath(System.Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["ErrorLogFile"]));

              int gmtOffset = DateTime.Compare(DateTime.Now, DateTime.UtcNow);

              string gmtPrefix;

              if (gmtOffset > 0)

              {

                   gmtPrefix = "+";

              }

              else

              {

                   gmtPrefix = "";

              }

              string errorDateTime = DateTime.Now.Year.ToString() + "." + DateTime.Now.Month.ToString() + "." + DateTime.Now.Day.ToString() + " @ " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString() + " (GMT " + gmtPrefix + gmtOffset.ToString() + ")";

              try

              {

                   System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, true);

                   sw.WriteLine("## " + errorDateTime + " ## " + message + " ##");

                   sw.Close();

              }

              catch

              {

              }

         }

 

Referência: 1.4 – Exception Parte I

 

Explicação:

Começando com a assinatura do método.

 

 

 

 

public static void LogError(string message)

 

Referência: 1.5 – Exception Parte I

 

É um método publico e estático que não retorna valor algum e recebe um parâmetro de entrada do tipo string.

 

 

HttpContext context = HttpContext.Current;

              string filePath = context.Server.MapPath(System.Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["ErrorLogFile"]));

 

Referência: 1.6 – Exception Parte I

 

A referência 1.6 apenas pego a configuração do arquivo que está descrito dentro do arquivo de configuração web.config. Mostrarei o mesmo mais pra frente.

 

 

int gmtOffset = DateTime.Compare(DateTime.Now, DateTime.UtcNow);

              string gmtPrefix;

              if (gmtOffset > 0)

              {

                   gmtPrefix = "+";

              }

              else

              {

                   gmtPrefix = "";

              }

              string errorDateTime = DateTime.Now.Year.ToString() + "." + DateTime.Now.Month.ToString() + "." + DateTime.Now.Day.ToString() + " @ " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString() + " (GMT " + gmtPrefix + gmtOffset.ToString() + ")";

 

Referência: 1.7 – Exception Parte I

 

A referência 1.7, configuro apenas as horas, data, segundo e minuto que irá ser gravado junto ao arquivo de configuração.

 

 

               try

              {

                   System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, true);

                   sw.WriteLine("## " + errorDateTime + " ## " + message + " ##");

                   sw.Close();

              }

              catch

              {

              }

 

Referência: 1.8 – Exception Parte I

 

Essa última referência 1.8 apenas abre o arquivo e escreve os valores setados anteriormente dentro do arquivo e fecha.

 

 

 

Bom, fico por aqui.

No próximo passo mostrarei mais algumas configurações e métodos criados para utilização por completo.

 

Mauricio Junior

www.ascompras.com

www.aspneti.com

e-mail: mauricio@ascompras.com

 

 

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Tecla ESC - Windows Forms
Treinamento VSTS
Dispositivos inteligentes a caminho da sua casa
Dica para buscar nome de tabelas ou stored procedures dentro do banco de dados
ASPNETi.COM chega aos 43 mil pageviews
Vídeo mostrando como validar vários formulários
Visual SourceSafe - Série 5
Criptografando URL
Visual SourceSafe
Criptografia de String de Conexão no Web.Config
Customizar Setup Layout
Exemplo do livro Programando em C# para Web
Microsoft AdventureWorks Database
II Encontro - Um Sucesso!!! (em Brasília)
Tópicos: Criptografia de Dados
Como criptografar a string de conexão no Web.Config.
Acessando banco de dados com pocket pc
Vídeo-Aula: Criando um Sistema para Celular com Banco de Dados
Visual Source Safe - Série 1
User Control Windows executando no Internet Explorer (parte 2 de 2)
Java J2EE – Primeiro Passo
Gravando Erros com Exception - Parte I
URL do WebService Dinâmica
Vídeo aula explicando o que é o FreeTextBox e como utilizar em seu projetos ASP.NET.
My Tracks
Vírus do Serasa por E-mail
Trabalhando com Ipersonate e Web
Você tem boa postura no trabalho?
ASP.NET MVC
UPLOAD – Enviando imagem pela Internet
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
SmartNavigation – 1.0 e 1.1 MaintainScroll PositionOn Postback – 2.0
Vídeo - Teste do Windows 7 RC
Vídeo do Visual SourceSafe - Parte I
Mais detalhes sobre o HTC Touch HD 2 com o possível Windows Mobile 7




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC