Skip to content

Commit 2397483

Browse files
Copilotbaronfel
andcommitted
Fix ForwardingLoggerRecord to use central logger instance with forwarding logger description
Co-authored-by: baronfel <[email protected]>
1 parent a4f3651 commit 2397483

File tree

1 file changed

+19
-32
lines changed

1 file changed

+19
-32
lines changed

src/Cli/dotnet/Extensions/ProjectInstanceExtensions.cs

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,18 @@ public static ForwardingLoggerRecord[] CreateTelemetryForwardingLoggerRecords()
8585
{
8686
try
8787
{
88-
var forwardingLogger = new MSBuildForwardingLogger();
89-
var loggerRecord = new ForwardingLoggerRecord(forwardingLogger, new Microsoft.Build.Logging.LoggerDescription(
90-
loggerClassName: typeof(MSBuildLogger).FullName!,
91-
loggerAssemblyName: typeof(MSBuildLogger).Assembly.Location,
88+
// The central logger instance for the main process
89+
var centralLogger = new MSBuildLogger();
90+
91+
// LoggerDescription describes the forwarding logger that worker nodes will create
92+
var forwardingLoggerDescription = new Microsoft.Build.Logging.LoggerDescription(
93+
loggerClassName: typeof(MSBuildForwardingLogger).FullName!,
94+
loggerAssemblyName: typeof(MSBuildForwardingLogger).Assembly.Location,
9295
loggerAssemblyFile: null,
9396
loggerSwitchParameters: null,
94-
verbosity: LoggerVerbosity.Normal));
97+
verbosity: LoggerVerbosity.Normal);
98+
99+
var loggerRecord = new ForwardingLoggerRecord(centralLogger, forwardingLoggerDescription);
95100
return [loggerRecord];
96101
}
97102
catch (Exception)
@@ -114,15 +119,9 @@ public static bool BuildWithTelemetry(
114119
var loggers = new List<ILogger>();
115120
var forwardingLoggers = new List<ForwardingLoggerRecord>();
116121

117-
// Add central telemetry logger
118-
var telemetryCentralLogger = CreateTelemetryCentralLogger();
119-
if (telemetryCentralLogger != null)
120-
{
121-
loggers.Add(telemetryCentralLogger);
122-
123-
// Add forwarding logger for distributed builds
124-
forwardingLoggers.AddRange(CreateTelemetryForwardingLoggerRecords());
125-
}
122+
// Add telemetry as a distributed logger via ForwardingLoggerRecord
123+
// The central logger is embedded in the ForwardingLoggerRecord
124+
forwardingLoggers.AddRange(CreateTelemetryForwardingLoggerRecords());
126125

127126
if (additionalLoggers != null)
128127
{
@@ -150,15 +149,9 @@ public static bool BuildWithTelemetry(
150149
var allLoggers = new List<ILogger>();
151150
var forwardingLoggers = new List<ForwardingLoggerRecord>();
152151

153-
// Add central telemetry logger
154-
var telemetryCentralLogger = CreateTelemetryCentralLogger();
155-
if (telemetryCentralLogger != null)
156-
{
157-
allLoggers.Add(telemetryCentralLogger);
158-
159-
// Add forwarding logger for distributed builds
160-
forwardingLoggers.AddRange(CreateTelemetryForwardingLoggerRecords());
161-
}
152+
// Add telemetry as a distributed logger via ForwardingLoggerRecord
153+
// The central logger is embedded in the ForwardingLoggerRecord
154+
forwardingLoggers.AddRange(CreateTelemetryForwardingLoggerRecords());
162155

163156
if (loggers != null)
164157
{
@@ -187,15 +180,9 @@ public static bool BuildWithTelemetry(
187180
var allLoggers = new List<ILogger>();
188181
var allForwardingLoggers = new List<ForwardingLoggerRecord>();
189182

190-
// Add central telemetry logger
191-
var telemetryCentralLogger = CreateTelemetryCentralLogger();
192-
if (telemetryCentralLogger != null)
193-
{
194-
allLoggers.Add(telemetryCentralLogger);
195-
196-
// Add forwarding logger for distributed builds
197-
allForwardingLoggers.AddRange(CreateTelemetryForwardingLoggerRecords());
198-
}
183+
// Add telemetry as a distributed logger via ForwardingLoggerRecord
184+
// The central logger is embedded in the ForwardingLoggerRecord
185+
allForwardingLoggers.AddRange(CreateTelemetryForwardingLoggerRecords());
199186

200187
if (loggers != null)
201188
{

0 commit comments

Comments
 (0)