File: INodeLogger.cs
Web Access
Project: ..\..\..\src\Framework\Microsoft.Build.Framework.csproj (Microsoft.Build.Framework)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Runtime.InteropServices;
 
#nullable disable
 
namespace Microsoft.Build.Framework
{
    /// <summary>
    /// This interface defines a logger that will receive information about number of logical execution
    /// nodes that will be executing the build requests and producing the build events.
    /// </summary>
    /// <remarks>
    /// Implementing loggers (same as loggers implementing ILogger) will be registered as so called 'central logger',
    /// which means that they will be receiving all events in the serialized order (either via locking or via delivery via single thread).
    /// This means that the implementation doesn't need to be thread safe.
    /// </remarks>
    [ComVisible(true)]
    public interface INodeLogger : ILogger
    {
        /// <summary>
        /// Initializes the current <see cref="INodeLogger"/> instance.
        /// </summary>
        /// <param name="eventSource"></param>
        /// <param name="nodeCount"></param>
        void Initialize(IEventSource eventSource, int nodeCount);
    }
}