🔥 Articles, eBooks, Jobs, Columnist, Forum, Podcasts, Courses 🎓



Escrevendo e Controlando Log de Erro

Gravar log do aplicativo é importante.

Hoje vou falar um pouco sobre uma funcionalidade que a maioria dos desenvolvedores não fazem, pois confiam que a aplicação não dará erro. Só que, o usuário sempre arruma um jeito de fazer o aplicativo dar erro. Risos!

Usado: C#.NET, Visual Studio 2010, Log de erro.

É importante ter sempre um método ou framework que grava os possíveis erros existentes no aplicativo. Esse método grava todo erro em forma de XML. O primeiro passo é gerar no aplicativo o AppSettings que controla o erro, isto é, 0 ou 1. Depois é necessário gerar outro AppSettings com o endereço full do arquivo.

O método precisa passar três parâmetros do tipo String. Descrição, Processo e Informação. (Code 1.1)


public bool Write(string Description, string Process,string Information)


Code 1.1

Se o desenvolvedor esquecer de colocar o AppSettings e chamar o método, não será executado porque existe a verificação. (Code 1.2)


if (System.Configuration.ConfigurationManager.AppSettings["Trac"] != null)


Code 1.2

Para controlar a aplicação na geração do erro ou não, precisa ter o valor 0 ou 1 pois o mesmo é verificado. (Code 1.3)


bool started = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["Trac"]);


if (started)

{

   ...

}


Code 1.3

Dentro do método também é verificado se o arquivo existe, se existir ele pega o caminho do arquivo, se não ele precisa gerar.  (Code 1.4)


string path = System.Configuration.ConfigurationManager.AppSettings["TraceFullPath"];


 System.IO.FileInfo file = new System.IO.FileInfo(path);


 if (file.Exists)

     logs.ReadXml(path);


Code 1.4

Segue o método completo. (Code 1.5)


public bool WriteLogErro(string Description, string Process, string Information)

        {

            try

            {

                if (System.Configuration.ConfigurationManager.AppSettings["Trac"] != null)

                {

                    bool started = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["Trac"]);

                    if (started)

                    {

                        TraceFile logs = new TraceFile();

                        string path = System.Configuration.ConfigurationManager.AppSettings["TraceFullPath"];


                        System.IO.FileInfo file = new System.IO.FileInfo(path);

                        if (file.Exists)

                            logs.ReadXml(path);


                        TraceFile.TraceRow log = logs.Trace.NewTraceRow();

                        log.Description = Description;

                        log.Process = Process;

                        log.DateTime = DateTime.Now;

                        log.Information = Information;

                        logs.Trace.Rows.Add(log);


                        logs.WriteXml(path);

                    }

                }

                return true;

            }

            catch

            {

                return false;

            }

        }


Code 1.5

O Code 1.5 mostra todo o método responsável pelo trace de log do aplicativo. Procure ter sempre esse tipo de método para gravar todos os possíveis erros e todos os processos. Você também pode colocar o método como estático, assim não precisa criar uma instância da classe para chamar o método. 

Para exemplificar, veja como fica no arquivo de configuração. (Code 1.6). Com o valor 1 o código vai gravar o trace.


<add key="Trac" value="1" />

<add key="TraceFullPath" value="c:\temp\aplicativo"/>


Code 1.6

Se for igual a 0, mesmo chamando o método o aplicativo não vai grava log de erro. (Code 1.7)


<add key="Trac" value="0" />

<add key="TraceFullPath" value="c:\temp\aplicativo"/>


Code 1.7

Espero que tenha entendido e qualquer dúvida, pode entrar em contato pelo site.


Subscribe ecode10.com

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.

Log In








Top