将jar输出写入控制台并在shell脚本中记录日志文件

时间:2014-07-22 13:36:23

标签: bash shell logging jar

我正在编写一个shell脚本,它通过调用jar来执行一些部署任务。

我想保留jar输出的日志,并将其打印到控制台。

目前我的jar调用看起来像这样

java -jar deployer.jar -y "$deployList" -u "$username" -p "$password"

我的log4j输出被打印到控制台,但是有一种简单的方法可以将输出写入两者吗?

我在Jar调用结束时尝试使用它,并在命令中添加了echo。但我似乎只能得到一个或另一个:

3>&1 1>>deploy_log.txt 2>&1

由于

1 个答案:

答案 0 :(得分:0)

正如twalberg在评论中所建议的那样,解决方案是使用tee命令。

此jar调用现在打印到输出和文件:

java -jar deployer.jar -y "$deployList" -u "$username" -p "$password" 2>&1 | tee log.txt