diff --git a/src/NuGetMirror/FileLogger.cs b/src/NuGetMirror/FileLogger.cs index 863ecab..6aedb9b 100644 --- a/src/NuGetMirror/FileLogger.cs +++ b/src/NuGetMirror/FileLogger.cs @@ -6,17 +6,11 @@ namespace NuGetMirror { public class FileLogger : LoggerBase { - private static readonly object _lockObj = new object(); + private static readonly object _lockObj = new(); public bool Enabled { get; set; } = true; - public ILogger OutputLogger { get; } - public string OutputPath { get; } - - /// - /// Verbosity to filter on for the file. - /// public LogLevel FileLoggerVerbosity { get; set; } = LogLevel.Error; public FileLogger(ILogger output, string outputPath) @@ -27,6 +21,9 @@ public FileLogger(ILogger output, string outputPath) public FileLogger(ILogger output, LogLevel level, string outputPath) : base(LogLevel.Debug) { + ArgumentNullException.ThrowIfNull(output); + ArgumentException.ThrowIfNullOrWhiteSpace(outputPath); + FileLoggerVerbosity = level; OutputLogger = output; OutputPath = outputPath; @@ -34,17 +31,17 @@ public FileLogger(ILogger output, LogLevel level, string outputPath) public override void Log(ILogMessage message) { - // Always pass the message to the inner logger. + ArgumentNullException.ThrowIfNull(message); + OutputLogger.Log(message); - if ((int)message.Level >= (int)FileLoggerVerbosity) + if (message.Level >= FileLoggerVerbosity) { lock (_lockObj) { - using (var writer = new StreamWriter(File.Open(OutputPath, FileMode.Append, FileAccess.Write))) - { - writer.WriteLine(message); - } + using var writer = new StreamWriter( + File.Open(OutputPath, FileMode.Append, FileAccess.Write)); + writer.WriteLine(message.Message); } } } @@ -52,8 +49,7 @@ public override void Log(ILogMessage message) public override Task LogAsync(ILogMessage message) { Log(message); - - return Task.FromResult(0); + return Task.CompletedTask; } } }