| File: TextWriterExtensions.cs | Web Access |
| Project: src\runtime\src\libraries\Microsoft.Extensions.Logging.Console\src\Microsoft.Extensions.Logging.Console.csproj (Microsoft.Extensions.Logging.Console) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.IO; namespace Microsoft.Extensions.Logging.Console { internal static class TextWriterExtensions { public static void WriteColoredMessage(this TextWriter textWriter, string message, ConsoleColor? background, ConsoleColor? foreground) { // Order: backgroundcolor, foregroundcolor, Message, reset foregroundcolor, reset backgroundcolor if (background.HasValue) { textWriter.Write(AnsiParser.GetBackgroundColorEscapeCode(background.Value)); } if (foreground.HasValue) { textWriter.Write(AnsiParser.GetForegroundColorEscapeCode(foreground.Value)); } textWriter.Write(message); if (foreground.HasValue) { textWriter.Write(AnsiParser.DefaultForegroundColor); // reset to default foreground color } if (background.HasValue) { textWriter.Write(AnsiParser.DefaultBackgroundColor); // reset to the background color } } } }