[custom trunk build with new Debugger API, JDK
Steps to reproduce:
1. Create a project with a main Java class.
2. In the main method try to print something into
the System.err or System.out stream.
3. Start debugger (Run/Run Main Project in Debugger).
4. The main class is executed in the debugger, but
nothing appears in the "Process Output"
This is not New debugger regression.
The output is stolen by New Build System.
What can we do with it?
Is it as designed?
I see this as a major problem even for execution of basic java
project. Actuall program output is mixed with ant output and can be
very difficult to find what is the actuall output and what is ant message.
This is as currently designed - process output is shown in the same
tab as the debugger is launched in.
I filed #41351 to make sure the now-useless Process Output tab is not
shown until this is fixed.
I would like to be able to improve this for D but I cannot commit to
it yet as the implementation may be difficult to get right when you
consider border cases and we have not yet evaluated what it might entail.
Will try to do some things. For now, I am suppressing hyperlinking of
build.xml and build-impl.xml in most cases.
Thinking about some kind of hack (just for D) whereby in e.g.
build-impl.xml you could place something like
<echo level="debug">***NB-PRETTY*** org.nb.foo.Bundle.BUILDING_JAR
and then add to .../src/org/nb/foo/Bundle.properties:
where the format slot is filled in with the Ant property.
If the Ant output formatter encountered a debug-level message with the
magic token, it would print the requested message to the output
window, and then suppress any further messages at info level or below
for the duration of the current target (excluding subtargets via <ant>
or <antcall>, i.e. more or less lexical scope). Need to somehow deal
with suppressing the target name too.
The nice thing is that manually edited build scripts are left
untouched. Only the generated scripts would get prettified output.
committed Up-To-Date 1.8
*** Issue 44723 has been marked as a duplicate of this issue. ***
Improved by #42525 but not fully fixed. Does at least suppress
exception messaging when you have a compilation error.
After setting "Options > Ant Settings > Verbosity Level" to "Quiet",
application output via System.out it is not displayed at all. IMHO,
this behavior should be regarded as DEFECT rather than a missing
FEATURE. (However, output to System.err is displayed in nice red
implicating that "Quiet" is in 4.0 what "Error only" was in 3.6.)
Suppressing ant output by the above setting, but let application
output pass, would, at least halfway ;-), resolve the issue of
distinguishing ant output and application output as asked for by Issue
AFAIK you can't adjust the logging level of process output. stdout ->
INFO, stderr -> WARN. So setting Verbosity to Quiet (= Warnings Only
in 3.6) would only useful when running projects if stdout is
unimportant compared to stderr (which could be the case for some
apps). Generally, Quiet is unlikely to be useful, and Verbose and
Debug are mainly for tracking down configuration problems.
BTW "brassel": adding a comment to an issue does not automatically add
you to the CC list, so you will never see replies unless you add yourself.
*** Issue 47898 has been marked as a duplicate of this issue. ***
Unlikely though possible for 4.1; expected to be nontrivial to
implement, esp. if must be consistent across several non-freeform
*** Issue 42184 has been marked as a duplicate of this issue. ***
*** Issue 74772 has been marked as a duplicate of this issue. ***
*** Issue 140541 has been marked as a duplicate of this issue. ***
When using Compile on Save there is minimal output besides the program's stdio; should suffice for most purposes.