| File: Logging\LoggerBase.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.Common\NuGet.Common.csproj (NuGet.Common) |
// 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. using System.Threading.Tasks; namespace NuGet.Common { public abstract class LoggerBase : ILogger { public LogLevel VerbosityLevel { get; set; } = LogLevel.Debug; public LoggerBase() { } public LoggerBase(LogLevel verbosityLevel) { VerbosityLevel = verbosityLevel; } public abstract void Log(ILogMessage message); public abstract Task LogAsync(ILogMessage message); public virtual void Log(LogLevel level, string data) { if (DisplayMessage(level)) { Log(new LogMessage(level, data)); } } public virtual Task LogAsync(LogLevel level, string data) { if (DisplayMessage(level)) { return LogAsync(new LogMessage(level, data)); } return TaskResult.True; } public virtual void LogDebug(string data) { Log(LogLevel.Debug, data); } public virtual void LogError(string data) { Log(LogLevel.Error, data); } public virtual void LogInformation(string data) { Log(LogLevel.Information, data); } public virtual void LogInformationSummary(string data) { Log(LogLevel.Information, data); } public virtual void LogMinimal(string data) { Log(LogLevel.Minimal, data); } public virtual void LogVerbose(string data) { Log(LogLevel.Verbose, data); } public virtual void LogWarning(string data) { Log(LogLevel.Warning, data); } /// <summary> /// True if the message meets the verbosity level. /// </summary> protected virtual bool DisplayMessage(LogLevel messageLevel) { return (messageLevel >= VerbosityLevel); } /// <summary> /// True if the message is an error or warning. /// </summary> protected virtual bool CollectMessage(LogLevel messageLevel) { return (messageLevel >= LogLevel.Warning); } } }