-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Associate standard output/error streams to a particular plugin execution to have it in the rolling windows #295
Comments
@ppalaga yes they do manipulate them and for 3 of the 2 cases I mentionned it is through inheritIO. I was thinking mvnd launcher (ie distro) could add a javaagent to switch System.setOut/System.setErr to a custom impl which would enable mvnd to control it and kind of stack it to track it properly. |
I wonder whether the effect would be any different from what we already do around here by setting System.out/err to our custom impl? |
@rmannibucau in order to support multithreaded builds and have a clean output, we need to correlate each log entry to the corresponding plugin execution. We do that with a few hacks in the logging system. In addition, we do override the I think if the plugins that do fork a process (there aren't too many of them) could be updated to poll the output and write it to the JVM |
@gnodet if I'm not mistaken mvnd can instrument Process/ProcessBuilder - very worse case with an agent on mvnd jvm - to have the context at start() call time so all the logs from this process can be redirected to mvnd system no? It is actually more and more common to have such fork in plugins so I don't think that updating them all is easy. Worse case a degraded mode where a new bucket "unknown module logs" is shown would be fine too. |
@rmannibucau ah, I see what you meant now with the agent. Yes, instrumenting ProcessBuilder class could work I suppose. I'll have a look. |
Actually, the problem with the |
Hi @gnodet , seems it does not fix the issue for junit-platform-maven-plugin and friends but only exec plugin which does not use inheritIO :(. |
Pushed #299 to show the issue I hit ATM. |
Hi,
it seems logs are not pseudo real time with some plugins (like junit-platform-maven-plugin:1.1.0:launch or exec:java/exec:exec), is it because the plugin uses a handler to spy logs? Any way to capture stdout/stderr too and add them in the rolling window?
The text was updated successfully, but these errors were encountered: