How can we redirect a Java program console output to multiple files?

后端 未结 5 395
忘掉有多难
忘掉有多难 2020-11-28 20:36

How can we redirect the eclipse console output to a file? I can:

  1. Run Configuration->Commons->Select a file.
  2. Use
相关标签:
5条回答
  • 2020-11-28 20:43

    You could use a "variable" inside the output filename, for example:

    /tmp/FetchBlock-${current_date}.txt
    

    current_date:

    Returns the current system time formatted as yyyyMMdd_HHmm. An optional argument can be used to provide alternative formatting. The argument must be valid pattern for java.util.SimpleDateFormat.

    Or you can also use a system_property or an env_var to specify something dynamic (either one needs to be specified as arguments)

    0 讨论(0)
  • 2020-11-28 20:52

    You can set the output of System.out programmatically by doing:

    System.setOut(new PrintStream(new BufferedOutputStream(new FileOutputStream("/location/to/console.out")), true));
    

    Edit:

    Due to the fact that this solution is based on a PrintStream, we can enable autoFlush, but according to the docs:

    autoFlush - A boolean; if true, the output buffer will be flushed whenever a byte array is written, one of the println methods is invoked, or a newline character or byte ('\n') is written

    So if a new line isn't written, remember to System.out.flush() manually.

    (Thanks Robert Tupelo-Schneck)

    0 讨论(0)
  • 2020-11-28 20:54

    Go to run as and choose Run Configurations -> Common and in the Standard Input and Output you can choose a File also.

    0 讨论(0)
  • 2020-11-28 20:56

    We can do this by setting out variable of System class in the following way

    System.setOut(new PrintStream(new FileOutputStream("Path to output file"))). Also You need to close or flush 'out'(System.out.close() or System.out.flush()) variable so that you don't end up missing some output.

    Source : http://xmodulo.com/how-to-save-console-output-to-file-in-eclipse.html

    0 讨论(0)
  • 2020-11-28 20:59

    To solve the problem I use ${string_prompt} variable. It shows a input dialog when application runs. I can set the date/time manually at that dialog.

    1. Move cursor at the end of file path.

    2. Click variables and select string_prompt

    3. Select Apply and Run

    0 讨论(0)
提交回复
热议问题