如何将Log4J输出复制到字符串?

时间:2019-05-12 06:06:38

标签: java logging log4j

我正在使用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

我想将所有此日志复制到一个字符串。 我尝试了许多解决方案,但是都没有用。

1 个答案:

答案 0 :(得分:0)

您可以将System.setOut()StringWriter一起使用。

例如:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
System.setOut(new PrintStream(stream));
String output = stream.toString();