[dsrouter] log redirected console output #5524
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Context: #5494
Context: #5241
Fixes: #5435
We added
--dsrouterswitch to bothdotnet-traceanddotnet-gcdump, which runsdotnet-dsrouteras a child process.Many of
dotnet-dsrouter's console messages are pretty useful for developers, but we are simply ignoring them:To make this a bit more useful, we now log the output to either
Console.OutorConsole.Errorwhere appropriate.If we simply did:
This would work fine, but we'd lose all coloring.
dotnet-dsrouterusesSimpleConsoleFormatterto colorize its output:https://github.com/dotnet/runtime/blob/aadcceeb03ce0ecbc2ad645de0feb10189daa64c/src/libraries/Microsoft.Extensions.Logging.Console/src/SimpleConsoleFormatter.cs#L163-L199
So, for now, a very simple solution is to check the known prefixes and add coloring. This looks to have a pretty good result.
I also dropped the duplicate message:
Now that we print all of
dotnet-dsrouter's output, we can handle this case and color it yellow.