msbuild icon indicating copy to clipboard operation
msbuild copied to clipboard

MuxLogger discrepancy introduced by new event

Open maridematte opened this issue 6 months ago • 1 comments

MuxLogger and normal logger have output difference of a blank line with the introduction of new event. The test (here) was made more lenient so we could get work done without this being a blocker. This issue is being created to keep track of this difference and address it in the future.

Context

When adding the new event BuildSubmissionStartedEventArgs (https://github.com/dotnet/msbuild/pull/10424) an unintentional side effect was changing how the logging output looks like. This is happening because there is a difference in event order between loggers.

Using the case of the MockLogger. The MockLogger will receive a BuildStartedEvent, log it, and then receive BuildSubmissionStartedEvent, log it, and then receive ProjectStartedEvent and log it.

flowchart LR
BS[BuildStartedEvent] --> BSS[BuildSubmissionStartedEvent] --> BS2[ProjectStartedEvent]

The MuxLogger will receive a BuildStartedEvent, ignore it, receive a BuildSubmissionStartedEvent, log it, and then receive ProjectStartedEvent when it will create an artificial BuildStartedEvent that will then log before logging ProjectStartedEvent.

flowchart LR
BS[BuildSubmissionStartedEvent] --> BSS[BuildStartedEvent] --> BS2[ProjectStartedEvent]

This causes the general event order to be different and for the outputs to be different.

maridematte avatar Aug 06 '24 21:08 maridematte