Я создал нижеследующее соединение JDBC, и теперь он работает нормально с приведенным ниже кодом, и я использую log4j
, в случае отказа JDBC-соединения я хотел зарегистрировать его в файле журнала, а не показывать на консолиОбработка исключений Jdbc
public class projectDaoJdbcImpl implements projectDao {
static Logger logger = Logger.getLogger(projectDaoJdbcImpl.class);
@Override
public boolean updateproject(updateentity projectObj) throws Exception {
FileInputStream fis = new FileInputStream("C:\\Users\\kdhandap\\database.properties");
Properties props = new Properties();
props.load(fis);
String JDBC_DRIVER = props.getProperty("Driver");
String USER = props.getProperty("Username");
String PASS = props.getProperty("Password");
String url = "jdbc:mysql://" + projectObj.getServerName() + ":3306/tablename";
boolean result = false;
Connection conn = null;
PreparedStatement stmt = null;
String sql = "UPDATE table SET columnname='" + projectObj.getFlagStatus()
+ "' WHERE projectID IN (" + projectObj.projectId() + ")";
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(url, USER, PASS);
stmt = conn.prepareStatement(sql);
if (stmt.executeUpdate() != 0) {
result = true;
}
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException se) {
se.printStackTrace();
}
finally{
stmt.close();
conn.close();
}
return result;
}
Попытка иметь статус logger.warn и захватить в лог-файл и не знаете, куда обращаться с этим
Обработка в SQL Exception должна делать это ..также, если вы хотите обрабатывать другие исключения, попробуйте удалить «throws Exception» из объявления метода –
Я не уверен, что понимаю проблему. У вас есть регистратор. Вам нужно вызвать метод warn() вместо использования e.printStackTrace(). Какова конкретная проблема? –
Я хотел захватить вывод e.printStackTrace(). в моем файле журнала – Keerthisairam