Bom dia!
Tenho um probleminha que está me tirando a paciência, baixei o c3p0, configurei tudo certinho, conexão está funcionando, não tem o que reclamar, mas toda vez que conecto, ele gera o log COMPLETO, e não tenho ideia de como desativar isso, deixar apenas para erros... (aparentemente está em modo debug).
Procurei e não encontrei nenhum arquivo de config.xml .properties .*, simplesmente não tem, e como todas as configurações eu criei no construtor da classe, então não tem problema, a unica chatice é esse log aparecendo no sistema sem parar, são linhas e mais linhas de INFO, DEBUG e tudo mais.
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
import com.mchange.v2.c3p0.ComboPooledDataSource;
final class DatabaseFactory {
private DatabaseFactory() {
BasicConfigurator.configure();
try {
_source = new ComboPooledDataSource();
_source.setAutoCommitOnClose(true);
_source.setInitialPoolSize(10);
_source.setMinPoolSize(Config.getDBMinCon());
_source.setMaxPoolSize(Config.getDBMaxCon());
_source.setAcquireRetryAttempts(0);
_source.setAcquireRetryDelay(500);
_source.setCheckoutTimeout(0);
_source.setAcquireIncrement(5);
_source.setAutomaticTestTable("connection_test_table");
_source.setTestConnectionOnCheckin(false);
_source.setIdleConnectionTestPeriod(3600);
_source.setMaxIdleTime(1800);
_source.setMaxStatementsPerConnection(100);
_source.setBreakAfterAcquireFailure(false);
_source.setDriverClass("com.mysql.jdbc.Driver");
_source.setJdbcUrl(Config.getDbURL());
_source.setUser(Config.getLogin());
_source.setPassword(Config.getPw());
/* Testando a conexão */
_source.getConnection().close();
} catch (Exception e) {
throw new Error(
"DatabaseFactory: Falha ao iniciar as conexões com o banco de dados: "
+ e, e);
}
}
private final ComboPooledDataSource _source;
private static final Logger log = Logger.getLogger(DatabaseFactory.class);
private static ComboPooledDataSource pool;
private static final class SingletonHolder {
private static final DatabaseFactory INSTANCE = new DatabaseFactory();
}
public static DatabaseFactory getInstance() {
return SingletonHolder.INSTANCE;
}
public static void close(Connection con) {
BasicConfigurator.configure();
if (con == null)
return;
try {
con.close();
} catch (SQLException e) {
log.warn(
"DatabaseFactory: Falha ao tentar fechar uma conexão com o banco de dados!",
e);
}
}
public void shutdown() throws Exception {
_source.close();
}
public Connection getConnection() {
return getConnection(null);
}
public Connection getConnection(Connection con) {
BasicConfigurator.configure();
while (con == null) {
try {
con = _source.getConnection();
} catch (SQLException e) {
log.fatal(
"DatabaseFactory: Falha ao recuperar conexão com o banco!",
e);
}
}
return con;
}
public int getBusyConnectionCount() throws SQLException {
return _source.getNumBusyConnectionsDefaultUser();
}
public int getIdleConnectionCount() throws SQLException {
return _source.getNumIdleConnectionsDefaultUser();
}
}
Funciona perfeitamente, meu problema é o raio do log interno do c3p0....
Alguém sabe como faço para desabilita-lo?
Se precisar de um arquivo, qual é o arquivo e onde ele deve estar ou onde deve ser colocado?
Obrigado!