1

我正在使用 groovy+gmaven+maven 来自动化/构建构建过程。
当我在 groovy 脚本中使用 ant sshexec 任务时,该脚本又从 gmaven 插件部分执行,我得到了一些来自 sshexec 的日志信息。我想知道在 groovy 脚本中使用 ant.sshexec() 时是否可以写 NO 输出?我有以下脚本:

def ant = new AntBuilder()
    ant.sshexec(host: host,
            port: port,
            trust: true,
            username: user,
            password: pass,
            command: "if test -d ${installDir}; then echo true; else echo false; fi",
            outputproperty: 'doesInstallDirExist')  

输出是:

[sshexec] Connecting to 192.168.56.101:22
[sshexec] cmd : if test -d /mango/tomcat7/webapps; then echo true; else echo false; fi

我可以压制/隐藏它吗?

4

2 回答 2

3

或者,您是否尝试过:

ant.project.buildListeners.firstElement().messageOutputLevel = 0
于 2013-06-09T22:14:59.683 回答
2

没有一种简单的方法可以做到这一点,sshexecAnt 任务不会公开任何更安静的选项。

但是由于您在 Groovy 中,因此您可以在执行 sshexec 任务时访问记录器并禁用记录。这是临时增加日志记录级别的一段代码:

def ant = new AntBuilder();
def logger = ant.project.buildListeners.firstElement();
logger.messageOutputLevel = org.apache.tools.ant.Project.MSG_WARN;
ant.sshexec(...)
logger.messageOutputLevel = org.apache.tools.ant.Project.MSG_INFO;
于 2013-06-09T22:28:24.290 回答