Classe main
Vou mostrar um exemplo de como usar log, fazendo uma conexão com banco de dados MySQL.
Para começar, vou criar três classes:
- Conexao.class Responsável por fazer a conexão com o banco de dados;
- geraLogs.class Classe genérica que ficará responsável por gerar nossos logs;
- main Classe principal que ficará responsável por executar nosso exemplo.
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 MySQL
Como 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
{
String conexao;
boolean conectado;
geraLog log;
public Conexao()
{
criaConexao();
}
/**
*Metodo responsavel por criação da conexao com banco de dados
* @return retorna um boolean se for conectado
*/
private boolean criaConexao()
{
log = new geraLog();
String usuario = "klone";
String senha = "senha";
String local = "localhost";
String database = "Agenda";
String url = "jdbc:mysql://"+local+ "/" + database;
Connection conexao;
//Força o uso do try / catch
try
{
String driver = "com.mysql.jdbc.Drivers";
Class.forName(driver).newInstance();
conexao = DriverManager.getConnection(url,usuario,senha);
conectado = true;
System.out.println("Conectado");
}
catch (SQLException erro)
{
log.LogTxt(erro.toString(), "Conexao");
erro.printStackTrace();
conectado = false;
}
catch (ClassNotFoundException e)
{
log.LogTxt(e.toString(), "Conexao");
e.printStackTrace();
conectado = false;
}
catch (InstantiationException e)
{
log.LogTxt(e.toString(), "Conexao");
e.printStackTrace();
conectado = false;
}
catch (IllegalAccessException e)
{
log.LogTxt(e.toString(), "Conexao");
// TODO Auto-generated catch block
e.printStackTrace();
}
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 uma
Exception 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.