Busca online em todo site:

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Gravando Erros com Exception - Parte I


Data Publicação: 22/3/2006 8:35:36
Total de visualizações: 1576

comente
 


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

 

 



Total de visualizações: 1576
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.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.orgSite pessoal  www.mauriciojunior.org


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

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

Documento padrão de desenvolvimento
Registro Encontro .NET (Fotos)
Anime-se com o Silverlight
Internet começa a ter ultra velocidade no Brasil
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Aplicativos para Dispositivos Móveis, Usando C#.NET com a ferramenta Visual Studio.NET e com Banco de Dados MySQL e SQL Server
Virtual Earth - Segundo Passo
Código fonte aberto
Vídeo - Teste do Windows 7 RC
Adicionando Menu no DataGridView
ASPNETi.COM chega aos 43 mil pageviews
Vídeo - Tecla de Atalho
Limpando Cache do Brownser
Armazenando Dados no ViewState Parte II
WebService - Desenvolvimento Parte 1
ModalDialogExtender
SELECT INSERT
Lançamento do e-Book Dicas DotNet
Concurso Office
Linguagem de programação: Nunca faça isso - C#.NET
Virtual Earth – Primeiro Passo
Insistência com Vírus por E-mail
Visual SourceSafe – Série 6
Event Log Parte II - Visual Studio.NET 2005
VSTS 2008
Criando Help com Visual Studio.NET
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte II)
Vírus - Email com viagra
Promoção Assinatura Grátis DevMedia e ASPNETi.COM
Google e Amazon
Innovation Days
Entrevista com um cracker diz que IIS é mais seguro que Apache
Visual SourceSafe - Série 3
Mudar de MasterPage em Tempo de Execução
Permitir Teste pelo Browser no WebService

Publicidade:

[sumir] [aparecer]
NETITC




Informaes Online:

Usurios Online: 140
Artigos:  663
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5789

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 382 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC