如何将 "println" 命令输出重定向到 Groovy 中的文件
How to redirect "println" commands output to a file in Groovy
我想将 println 命令重定向到另一个文件,该命令是作业的详细信息,如构建名称、状态、时间等。
下面是我的代码片段,我想将其输出重定向到一个文件。
def lastBuildEnvVars = lastbuild.getEnvVars()
println 'Product Name : ' + lastBuildEnvVars['PRODUCT_NAME'] + 'Version : ' + lastBuildEnvVars['PRODUCT_VERSION'] + 'Result: ' + lastbuild.result + 'Time: ' + lastbuild.timestampString2 + '\n'
println 'Result: ' + lastbuild.result + '\nTime: ' + lastbuild.timestampString2
println 的输出是
Current Product Name : OMA_KENAN_FX_READINESS
Product Version :
Result: SUCCESS
Time: 2019-08-31T01:25:26Z
def logFile = new File("output.log")
logFile.append('Product Name : ' + lastBuildEnvVars['PRODUCT_NAME'] + 'Version : ' + lastBuildEnvVars['PRODUCT_VERSION'] + 'Result: ' + lastbuild.result + 'Time: ' + lastbuild.timestampString2 + '\n')
logFile.append('Result: ' + lastbuild.result + '\nTime: ' + lastbuild.timestampString2)
您可以将一行分配给字符串变量,然后执行:
def entry = 'Result: ' + lastbuild.result + '\nTime: ' + lastbuild.timestampString2
println(entry)
logFile.append(entry)
然后你可以编写一个名为 logIt(entry) 的方法来打印并写入文件:
def logIt(entry) {
//you have to let this method know about the file object somehow
println(entry)
logFile.append(entry)
}
等等等等。
我想将 println 命令重定向到另一个文件,该命令是作业的详细信息,如构建名称、状态、时间等。
下面是我的代码片段,我想将其输出重定向到一个文件。
def lastBuildEnvVars = lastbuild.getEnvVars()
println 'Product Name : ' + lastBuildEnvVars['PRODUCT_NAME'] + 'Version : ' + lastBuildEnvVars['PRODUCT_VERSION'] + 'Result: ' + lastbuild.result + 'Time: ' + lastbuild.timestampString2 + '\n'
println 'Result: ' + lastbuild.result + '\nTime: ' + lastbuild.timestampString2
println 的输出是
Current Product Name : OMA_KENAN_FX_READINESS
Product Version :
Result: SUCCESS
Time: 2019-08-31T01:25:26Z
def logFile = new File("output.log")
logFile.append('Product Name : ' + lastBuildEnvVars['PRODUCT_NAME'] + 'Version : ' + lastBuildEnvVars['PRODUCT_VERSION'] + 'Result: ' + lastbuild.result + 'Time: ' + lastbuild.timestampString2 + '\n')
logFile.append('Result: ' + lastbuild.result + '\nTime: ' + lastbuild.timestampString2)
您可以将一行分配给字符串变量,然后执行:
def entry = 'Result: ' + lastbuild.result + '\nTime: ' + lastbuild.timestampString2
println(entry)
logFile.append(entry)
然后你可以编写一个名为 logIt(entry) 的方法来打印并写入文件:
def logIt(entry) {
//you have to let this method know about the file object somehow
println(entry)
logFile.append(entry)
}
等等等等。