我正在使用IntelliJ和Java。 我想将正在运行的程序的输出复制到字符串中。 此解决方案必须在IntelliJ和Jenkins作业中都可以本地工作。
例如,我正在运行的控制台输出如下:
log4j:ERROR Could not find value for key log4j.appender.stdot
log4j:ERROR Could not instantiate appender named "stdot". log4j:ERROR
Could not find value for key log4j.appender.stdout log4j:ERROR Could
not instantiate appender named "stdout". [1;34m2019-05-12 08:17:38
Property file env/application.properties parsed successfully[0m
我想将所有此日志复制到一个字符串。 我尝试了许多解决方案,但是都没有用。
答案 0 :(得分:0)
您可以将System.setOut()与StringWriter一起使用。
例如:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
System.setOut(new PrintStream(stream));
String output = stream.toString();