Groovy不能输出



我正在使用groovy+gmaven+maven来自动化/构建构建过程。
当我在groovy脚本中使用ant ssheexec任务时,它反过来又从gmaven插件部分执行,我得到了一些来自ssheexec的日志信息。我想知道是否有可能在groovy脚本中使用ant. ssheec()时编写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

我可以抑制/隐藏它吗?

或者,你试过:

ant.project.buildListeners.firstElement().messageOutputLevel = 0

没有一种简单的方法可以做到这一点,sshexec Ant任务没有暴露任何更安静的选项。

但是由于您是在Groovy中,所以您可以在执行ssheec任务时访问日志记录器并禁用日志记录。下面是临时增加日志级别的代码:

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;

相关内容

  • 没有找到相关文章

最新更新