0

我正在尝试使用 ant 测试数据库的存在。

<sql driver="mydriver" url="myurl" userid="myuserid" passworkd="mypassword"
faiOnConnectionError="false"
onerror="continue"
warningproperty="db.empty"
errorproperty="db.empty"
src="mySrc"
print="false"
output="db.present"
showWarnings="false" />

当数据库不存在时,我在控制台中有一条消息表明数据库不存在(这是正常的)。

我需要停用此消息的显示,有没有办法可以做到这一点?

4

1 回答 1

0

来自 org.apache.tools.ant.taskdefs.JDBCTask (ant 1.9.2) 的来源,第 379-387 行:

} catch (SQLException e) {
    // failed to connect
    if (!failOnConnectionError) {
        log("Failed to connect: " + e.getMessage(), Project.MSG_WARN);
        return null;
    } else {
        throw new BuildException(e, getLocation());
    }
}

假设您使用默认的 Loglevel Info,所有带有 messagelevel error、warn 和 info 的消息都会被记录下来。要使用 messagelevel warn 摆脱该输出,请修补 JDBCTask 并将第 382 行的 messagelevel 调整为,Project.MSG_VERBOSEProject.MSG_DEBUG使用
Make ant quiet without the -q flag 的答案中的解决方案之一?

于 2013-11-07T22:29:40.257 回答