Logging 如何在不隐藏控制台的情况下将maven输出记录到文件中?

Logging 如何在不隐藏控制台的情况下将maven输出记录到文件中?,logging,maven,Logging,Maven,我想将maven输出保存到一个文件中,但不会丢失控制台的输出。使用tee不是一个选项,因为我在Windows下运行,而且我不想将二进制tee.exe添加到源代码树中。使用: >文件名 在mvn命令结束时,将输出发送到文件,然后使用wintail之类的工具跟踪文件。到今天为止,maven2不支持此操作。现在可以重定向Maven 3命令输出。请参阅windows上的以下命令: mvn -X install > test.log 这将把命令输出重定向到test.log文件,该文件位于当前目录

我想将maven输出保存到一个文件中,但不会丢失控制台的输出。使用
tee
不是一个选项,因为我在Windows下运行,而且我不想将二进制tee.exe添加到源代码树中。

使用:

>文件名


在mvn命令结束时,将输出发送到文件,然后使用wintail之类的工具跟踪文件。

到今天为止,maven2不支持此操作。

现在可以重定向Maven 3命令输出。请参阅windows上的以下命令:

mvn -X install  > test.log
这将把命令输出重定向到test.log文件,该文件位于当前目录中。

使用。
它的工作原理类似于普通的命令提示符,还有一些附加功能,如自动记录屏幕上的所有内容、多个窗口、快捷方式。

如果您使用的是linux。您可以使用下面的命令。
mvn安装-X | tee log.txt

使用tail命令
tail-f log\u file\u name在另一个控制台中。

因为你说你在windows上。在powershell中有
Tee对象
。我这样运行maven:(注意,在powershell中,您需要将整个
-Dexec.args
括在引号中)


关于这一点,maven真的没有什么特别的。我建议在SuperUser.com上询问是否有一种方法可以将cmd输出重定向到文件和控制台。这是maven特有的,看起来maven还不支持这一点,这对于构建系统来说非常难看。根据@Sean comment,这里有一些可能的解决方法,或者我的意思是它不会打印到控制台。log.txt是fine@Sridhar-Sarnobat我希望通过传递您告诉maven(mvn)将日志保存到文件的命令,而不是默认位置(在我的系统上是'system.out')。这就是为什么您不能获得控制台输出。保存到文件时只需查看日志文件。旁注-如果需要,可以通过${MAVEN_HOME}/conf/logging/simplelogger.properties文件更改默认日志位置。如果你需要,这里有一个链接:@ZackJannsen不是真的。其他命令工作正常。但是感谢您的回复什么是
-X
?-X是调试模式logI?我不认为这解决了同时将其转储到控制台的问题,这就是他想使用tee的原因。
mvn exec:java "-Dexec.mainClass=com.proj.main" "-Dexec.args=arg0 arg1" | Tee-Object -FilePath output.log