public static CallableStatement getInstance(CallableStatement stmt, String sql) {
        InvocationHandler handler = new JdbcLogCallableStatement(stmt, sql);
        ClassLoader cl = CallableStatement.class.getClassLoader();
        return (CallableStatement) Proxy.newProxyInstance(cl, new Class[] { CallableStatement.class }, handler);
    }
public static CallableStatement getInstance ( CallableStatement stmt , String sql ) { InvocationHandler handler = new JdbcLogCallableStatement ( stmt , sql ) ; ClassLoader cl = CallableStatement . class . getClassLoader ( ) ; return ( CallableStatement ) Proxy . newProxyInstance ( cl , new Class [ ] { CallableStatement . class } , handler ) ; }
Creates a logging version of a PreparedStatement

@param stmt - the statement
@param sql  - the sql statement
@return - the proxy