Merge pull request #1655 from kerry8899/patch-2

SQL执行异常时,输出可执行SQL
This commit is contained in:
高铁
2017-03-24 22:00:44 +08:00
committed by GitHub
@@ -750,8 +750,28 @@ public abstract class LogFilter extends FilterEventAdapter implements LogFilterM
@Override
protected void statement_executeErrorAfter(StatementProxy statement, String sql, Throwable error) {
if (this.isStatementLogErrorEnabled()) {
statementLogError("{conn-" + statement.getConnectionProxy().getId() + ", " + stmtId(statement)
if (!isStatementExecutableSqlLogEnable()) {
statementLogError("{conn-" + statement.getConnectionProxy().getId() + ", " + stmtId(statement)
+ "} execute error. " + sql, error);
}else{
int parametersSize = statement.getParametersSize();
if (parametersSize > 0) {
List<Object> parameters = new ArrayList<Object>(parametersSize);
for (int i = 0; i < parametersSize; ++i) {
JdbcParameter jdbcParam = statement.getParameter(i);
parameters.add(jdbcParam != null
? jdbcParam.getValue()
: null);
}
String dbType = statement.getConnectionProxy().getDirectDataSource().getDbType();
String formattedSql = SQLUtils.format(sql, dbType, parameters, this.statementSqlFormatOption);
statementLogError("{conn-" + statement.getConnectionProxy().getId() + ", " + stmtId(statement)
+ "} execute error. " + formattedSql, error);
}else{
statementLogError("{conn-" + statement.getConnectionProxy().getId() + ", " + stmtId(statement)
+ "} execute error. " + sql, error);
}
}
}
}