Página anterior Voltar ao início do trabalhoPágina seguinte 

Event Log Parte II - Visual Studio.NET 2005 (página 2)

Mauricio Junior

 

 

public void InsertFechamentoAgendado(TO to)

        {

            StringBuilder str = new StringBuilder();

            str.Append("insert into FechAgendadoControle (");

            str.Append(" DataProcessamento, NumCooperativa, IdProduto, ");

            str.Append(" OrdemProduto, HorarioAgendado )");

            str.Append(" values ( @dataProcessamento, @numCooperativa, ");

            str.Append(" @idProduto, @ordemProduto, @horarioAgendado )");

 

            StringConnection = GetConnection();

            SqlConnection conn = SetSqlConnection();

 

            try

            {

                SqlCommand cmd = new SqlCommand(str.ToString(), conn);

 

                //setar parametros

                setParametro(to, cmd);

 

                cmd.CommandTimeout = 240;

 

                conn.Open();

                cmd.ExecuteNonQuery();

            }

            catch (Exception ex)

            {

                //codigo

            }

            finally

            {

                conn.Close();

            }

        }

Referência: 1.3 Event Log – Parte II

Note que existe o código feito dentro do bloco try, ou seja, todas as linhas dentro podem dar algum tipo de erro na aplicação, por isso foram colocadas dentro do bloco. Para publicar um erro no visualizador do windows basta colocar o código dentro do bloco catch. Sempre coloco o tipo de entrada como Exception para que qualquer tipo de erro seja capturado, se existe um outro tipo de erro mais específico, deve ser colocado outro bloco antes do genérico. (1.4 Event Log – Parte II).

 

            try

            {

               

            }

            catch (SqlException ex)

            {

               

            }

            catch (Exception ex)

            {

               

            }

Referência: 1.4 Event Log – Parte II

Depois de entender tudo sobre o catch, mostro e explico como gerar o erro dentro do evento do windows. (1.5 – Event Log – Parte II).

            catch (Exception ex)

            {

                //registra o erro no event log

                EventLog log = new EventLog();

                log.Source = "Service Primeiro";

                log.WriteEntry("Classe: Dall Service \r\n" +

                               "Método: InsertFechamentoAgendado \r\n" +

                               "Mensagem de erro: " + ex.Message + "\r\n \r\n" +

                               "StatTrace: " + ex.StackTrace, EventLogEntryType.Error);

 

                throw ex;

            }

Referência: 1.4 Event Log – Parte II

Explicação:

O primeiro de tudo foi instanciar o EventLog da forma (1.5 Event Log – Parte II).

 

EventLog log = new EventLog();

Referência: 1.5 Event Log – Parte II

O segundo passo digita a variável log para registrar o Source, ou seja, o nome que irá aparecer na entrada do programa, a identificação de qual foi o programa que deu erro. (1.5 Event Log – Parte II)

 

log.Source = "Service Primeiro";

Referência: 1.5 Event Log – Parte II

O terceiro passo é pegar a descrição do erro, identificar a classe que aconteceu o erro, ficando assim melhor o reconhecimento dentro do programa visualizador do sistema operacional Windows. (1.6 Event Log – Parte II).

 

log.WriteEntry("Classe: Dall Service \r\n" +

"Método: InsertFechamentoAgendado \r\n" +

"Mensagem de erro: " + ex.Message + "\r\n \r\n" +

"StatTrace: " + ex.StackTrace, EventLogEntryType.Error);

Referência: 1.6 Event Log – Parte II

O commando log.WriteEntry apenas escreve a descrição do erro dentro do campo descrição do programa. Note que sempre identifico a classe, método e mensagem de erro todas juntas.

A referência (1.7 Event Log – Parte II) mostra como ficará dentro do event view.

 

Classe: Dall Service

Método: GeraXMLDocument

Mensagem de erro: Caracteres inválidos no caminho.

 

StatTrace:    em System.IO.Path.CheckInvalidPathChars(String path)

   em System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)

   em System.IO.Path.GetFullPathInternal(String path)

   em System.IO.Path.GetFullPath(String path)

   em System.Xml.XmlResolver.ResolveUri(Uri baseUri, String relativeUri)

   em System.Xml.XmlUrlResolver.ResolveUri(Uri baseUri, String relativeUri)

   em System.Xml.XmlTextReaderImpl..ctor(String url, XmlNameTable nt)

   em System.Xml.XmlTextReader..ctor(String url, XmlNameTable nt)

   em System.Xml.XmlDocument.Load(String filename)

   em Bancoob.ServicePrimeiro.Dall.DallService.GeraXMLDocument(DataSet dtSet) na c:\Mauricio\Projetos Bancoob\Fechamento Agendado\Web\App_Code\Dall\DallService.cs:linha 164

 

Para obter mais informações, visite o Centro de ajuda e suporte em http://go.microsoft.com/fwlink/events.asp.

Referência: 1.7 Event Log – Parte II

Segue a figura de ilustração. (1.8 Event Log – Parte II).

Referência: 1.8 Event Log – Parte II.

Bom, fico por aqui.

Mauricio Junior

www.ascompras.com

www.aspneti.com



 Página anterior Voltar ao início do trabalhoPágina seguinte 



As opiniões expressas em todos os documentos publicados aqui neste site são de responsabilidade exclusiva dos autores e não de Monografias.com. O objetivo de Monografias.com é disponibilizar o conhecimento para toda a sua comunidade. É de responsabilidade de cada leitor o eventual uso que venha a fazer desta informação. Em qualquer caso é obrigatória a citação bibliográfica completa, incluindo o autor e o site Monografias.com.