Introdução
Bom, vou mostrar a importância do logs para um sistema.
Logs, nada mais são do que arquivos gerados pelo programa para que haja uma comunicação entre o sistema para o usuário. Logs são relatórios de diversos tipos, informando o que está acontecendo no sistema. Mas, o que irei abordar aqui, são logs de erros. Os logs gerados pelo sistema são de estrema importância, pois são eles que nos ajudam a fazer a manutenção de sistema, o que ajuda a vida de um programador. Afinal, qual conteúdo deve-se ter um log de erro? Dentro do log de erro, deve ter três coisas fundamentais, em minha opinião, mas óbvio que dentro do log, você pode colocar as informações que você quiser, quanto mais você detalhar o log com informações do erro que ocorreu melhor fica para sua manutenção.
Lógico que isso só é o básico, poderia informar também a linha do código que está dando o erro, o que é comum programadores colocarem na hora de gerar o log. Como havia dito, quanto mais informações do erro melhor. |
|
Classe main / Classe conexão com MySQL
Classe mainVou mostrar um exemplo de como usar log, fazendo uma conexão com banco de dados MySQL. Para começar, vou criar três classes:
Na classe main, ficará assim: public class main
{ public static void main(String[] args) { Conexao conexao = new Conexao(); } Simplesmente, ficará responsável por instância nossa classe Conexao, para iniciar a conexão com o banco de dados. Vamos para a próxima classe, Conexão. Classe conexão com MySQLComo havia dito na página anterior, eu irei realizar um exemplo de uma conexão com banco de dados e farei com que dê errado propositadamente a conexão, para poder gerar os logs com a outra classe. import java.sql.Connection;
import java.sql.DriverManager; import java.sql.SQLException; public class Conexao public Conexao() /** Connection conexao; //Força o uso do try / catch return conectado; Bom, ficou assim a minha classe. Logo no começo, existe um construtor que irá chamar um método criaConexao(); para dar início à conexão. Esse método criaConexao(); é um método booleano, pois tenho como objetivo no final desse método, retornar true ou false para verificar se está conectado. Ainda nesse método, logo de cara, existem as variáveis com as configurações para poder fazer a conexão com banco de dados. Eu estou utilizando o driver JDBC MySQL para poder fazer a conexão e gerar a string do driver. * Detalhe muito importante: quando você está criando a conexão com banco de dados, o Java força você a usar o try/catch como segurança. É aí que fica o segredo para poder gerar os logs. Pois o catch captura umaException e, a partir daí, podemos chamar um método para gerar o nosso log. Ainda no método criaConexao(), coloquei diferentes tipos de Exception, para que fique melhor saber qual erro que estou tratando. Vamos para a próxima etapa, que é nossa classe que gera os logs. |
|
Classe que gera log
Bom, como disse, tem uma classe genérica que poderá gerar nosso log. Essa classe é genérica, porque não depende apenas de uma classe. Essa classe serve para qualquer classe para que eu possa gerar o log.
Obs.: os arquivos gerados de log, geralmente são com a extensão txt, log ou xml. Existe a opção de você gerar o seu log em XML e a partir daí, você pode criar um programinha para ler esse XML mostrando mais detalhes, mas aí vai da sua criatividade. Minha classe que gera logs ficou assim: import java.io.BufferedReader;
import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Date; public class geraLog if(!arquivoTxt.exists()) //salva o arquivo writer.close(); while(linha != null) br.close(); writer.write(“Problema:” + nome+”\n”); Logo no começo, eu crio o arquivo responsável por gravar os erro. Pode-se também fazer com que gere vários arquivos de log, mas nesse exemplo, estarei mostrando como salvar todo os erros num arquivo só. Como podemos ver, é um método que recebe a mensagem de erro e a classe onde ocorreu o erro. Essa classe, nada mais é que manipulação de arquivos, onde verifico se o arquivo existe. Se não existir, crio o arquivo e salvo as informações. Se o arquivo existir, abro ele e adiciono mais informações ao final. Outro dado importante, é que coloco a data e a hora da ocorrência do erro, um dado fundamental. Assim gera-se nosso log de erro simples. ConclusãoLogs de erros são fundamentais para um bom sistema estruturado. Sem eles, fica difícil realizar manutenção no código. Além disso, deixa o usuário mais confiável, pois sabendo-se onde ocorreu o erro, pode-se concertá-lo mais rapidamente. Logs são mais do que um arquivo falando onde que ocorreu um erro, são um meio de comunicação entre o software e o usuário final. |