我使用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
我可以抑制/隐藏它吗?
答案 0 :(得分:3)
或者,你试过了吗?
ant.project.buildListeners.firstElement().messageOutputLevel = 0
答案 1 :(得分:2)
没有一种简单的方法可以执行此操作,sshexec
Ant任务不会使任何选项暴露为更安静。
但是由于您使用的是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;