I really don't get why IDEA must break up one test run's console outs to so many places in the tree, seems kind of silly.
The intent is so you can see output relevant to a specific test. This way, when running dozens, or hundreds, of tests, you can focus on the relevant output and not a lot of "noise" that is irrelevant to the the particular test you are focusing on.
However I don't see a post anywhere explaining how to actually log all of this to one log file.
This is typically done via your logging framework, not the IDE. (But there is a way to do this in IDEA w/o a logging framework, which I discuss below.) As an aside, Logback is ideal for this since it automatically looks for a test specific configuration file. Of course, with other frameworks, you can set a test specific configuration file.
If you create a run/debug configuration for running your test, you can add the log file's output to a tab in the run output tool window. In your run/debug configuration, click on the Logs
tab and add the log that your logging framework writes to. You can also set it up so that only new/fresh output is shown in the tab preventing you from seeing logging from previous runs.
You can also select the "Save Console Output to File" option.
Finally, you can combine the above two settings, so that console output is logged to a file, and the output is shown in a second tab.
If you want either of the settings to to be the default, you can set it in the default "unit test" configuration. Expand the "Default" section in the Run/Debug configuration window (Run > Edit Configurations). When set there, any new run/debug unit test configurations (even temporary ones created on the fly via Ctrl+Shift+F10) will have those settings. Note that defaults only apply to the current project. If you want to make the setting a global default for all future projects, From the Welcome Screen (i.e. close all projects) go to "Configure" > "Project Defaults" > "Run Configurations" and make the setting there.