如何将 Java 程序控制台输出重定向到多个文件?

2022-08-31 07:14:04

我们如何将 eclipse 控制台输出重定向到文件?我可以:

  1. Run Configuration->Commons->Select a file.
  2. 使用和 。System.setOut(PrintStream)System.setErr(PrintStream)

1)的问题是我需要将控制台输出记录到不同的文件而不是一个文件。

2) 的问题在于它只存储由异常引发的堆栈生成的控制台输出或堆栈跟踪。它不会捕获其他类型的输出,例如log4j警告等。System.out.println()

我们如何以编程方式将控制台输出重定向到不同的文件?


答案 1

转到“运行方式”并选择“->,在”标准输入和输出“中,您也可以选择一个文件。Run ConfigurationsCommon


答案 2

您可以在输出文件名中使用“变量”,例如:

/tmp/FetchBlock-${current_date}.txt

current_date:

返回格式为yyyyMMdd_HHmm的当前系统时间。可选参数可用于提供替代格式。该参数必须是 java.util.SimpleDateFormat 的有效模式。

或者,您也可以使用system_property或env_var来指定动态内容(需要将其中任何一个指定为参数)


推荐