CredentialProvider.Microsoft/Logging/ConsoleLoggers.cs (28 lines of code) (raw):

// Copyright (c) Microsoft. All rights reserved. // // Licensed under the MIT license. using System; using System.IO; using NuGet.Common; namespace NuGetCredentialProvider.Logging { /// <summary> /// Logs messages to standard output, with log level included /// </summary> public class StandardOutputLogger : HumanFriendlyTextWriterLogger { public StandardOutputLogger() : base(Console.Out, writesToConsole: true) { } } /// <summary> /// Logs messages to standard error, with log level included /// </summary> public class StandardErrorLogger : HumanFriendlyTextWriterLogger { public StandardErrorLogger() : base(Console.Error, writesToConsole: true) { } } /// <summary> /// Emits a log message in a human-readable format to a TextWriter, including the log level /// </summary> public class HumanFriendlyTextWriterLogger : LoggerBase { private readonly TextWriter writer; public HumanFriendlyTextWriterLogger(TextWriter writer, bool writesToConsole) : base(writesToConsole) { this.writer = writer; } protected override void WriteLog(LogLevel logLevel, string message) { writer.WriteLine($"[{logLevel}] {message}"); } } }