| File: ConsoleOutLogMessage.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.Build.Tasks\NuGet.Build.Tasks.csproj (NuGet.Build.Tasks) |
// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. #nullable disable using System; using Microsoft.Build.Framework; using Newtonsoft.Json; namespace NuGet.Build.Tasks { /// <summary> /// Represents a log message, warning, or error that can be serialized and sent across a text stream like <see cref="Console.Out" />. /// </summary> public sealed class ConsoleOutLogMessage : ConsoleOutLogItem { /// <inheritdoc cref="BuildMessageEventArgs.Code" /> public string Code { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.ColumnNumber" /> public int ColumnNumber { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.EndColumnNumber" /> public int EndColumnNumber { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.EndLineNumber" /> public int EndLineNumber { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.File" /> public string File { get; set; } /// <inheritdoc cref="BuildEventArgs.HelpKeyword" /> public string HelpKeyword { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.Importance" /> public MessageImportance Importance { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.LineNumber" /> public int LineNumber { get; set; } /// <inheritdoc cref="BuildEventArgs.Message" /> public string Message { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.ProjectFile" /> public string ProjectFile { get; set; } /// <inheritdoc cref="BuildEventArgs.SenderName" /> public string SenderName { get; set; } /// <inheritdoc cref="BuildMessageEventArgs.Subcategory" /> public string Subcategory { get; set; } public override string ToJson() => JsonConvert.SerializeObject(this, SerializerSettings); /// <summary> /// Represents the message importance. This is a copy of <see cref="MessageImportance" /> because in some code paths we need to log a message before MSBuild assemblies have been loaded. /// </summary> public enum MessageImportance { High, Normal, Low } } }