From 4313f9c98592a1af91158a67708cfc646da37713 Mon Sep 17 00:00:00 2001 From: Vitalii Fedorchenko Date: Wed, 5 Jun 2024 13:38:21 +0300 Subject: [PATCH] Minor code formatting changes --- src/NReco.Logging.File/FileLoggerOptions.cs | 24 +++-- src/NReco.Logging.File/FileLoggerProvider.cs | 98 +++++++++----------- 2 files changed, 56 insertions(+), 66 deletions(-) diff --git a/src/NReco.Logging.File/FileLoggerOptions.cs b/src/NReco.Logging.File/FileLoggerOptions.cs index d579e6b..687992e 100644 --- a/src/NReco.Logging.File/FileLoggerOptions.cs +++ b/src/NReco.Logging.File/FileLoggerOptions.cs @@ -28,8 +28,7 @@ namespace NReco.Logging.File { /// /// Generic file logger options. /// - public class FileLoggerOptions - { + public class FileLoggerOptions { /// /// Append to existing log files or override them. /// @@ -102,20 +101,19 @@ public class FileLoggerOptions /// Determines the naming convention and order of rolling files. /// public FileRollingConvention RollingFilesConvention { get; set; } = FileRollingConvention.Ascending; - + /// /// Holds the different file rolling convention, the default option being Ascending. /// - public enum FileRollingConvention - { - /// - /// (Default) New files will get an ascending rolling index, files get rolled after max 0-1-2-3-0-1-2-3. - /// - Ascending, - /// - /// New files will get an ascending rolling index, but the latest file is always the file without index. More performant alt for descending rolling. 0-1-2-3-1-2-3 - /// - AscendingStableBase, + public enum FileRollingConvention { + /// + /// (Default) New files will get an ascending rolling index, files get rolled after max 0-1-2-3-0-1-2-3. + /// + Ascending, + /// + /// New files will get an ascending rolling index, but the latest file is always the file without index. More performant alt for descending rolling. 0-1-2-3-1-2-3 + /// + AscendingStableBase, /// /// Unix like descending logging, the base will always be stable and contain the latest logs, new files will be incremented and renamed so the highest number is always the oldest. 0-1-2-3 /// diff --git a/src/NReco.Logging.File/FileLoggerProvider.cs b/src/NReco.Logging.File/FileLoggerProvider.cs index ce4439d..12abcc4 100644 --- a/src/NReco.Logging.File/FileLoggerProvider.cs +++ b/src/NReco.Logging.File/FileLoggerProvider.cs @@ -107,9 +107,8 @@ public void Dispose() { entryQueue.CompleteAdding(); try { processQueueTask.Wait(1500); // the same as in ConsoleLogger - } - catch (TaskCanceledException) { } - catch (AggregateException ex) when (ex.InnerExceptions.Count == 1 && ex.InnerExceptions[0] is TaskCanceledException) { } + } catch (TaskCanceledException) { + } catch (AggregateException ex) when (ex.InnerExceptions.Count == 1 && ex.InnerExceptions[0] is TaskCanceledException) { } loggers.Clear(); fWriter.Close(); @@ -124,8 +123,7 @@ internal void WriteEntry(string message) { try { entryQueue.Add(message); return; - } - catch (InvalidOperationException) { } + } catch (InvalidOperationException) { } } // do nothing } @@ -135,8 +133,7 @@ private void ProcessQueue() { try { if (!writeMessageFailed) fWriter.WriteMessage(message, entryQueue.Count == 0); - } - catch (Exception ex) { + } catch (Exception ex) { // something goes wrong. App's code can handle it if 'HandleFileError' is provided var stopLogging = true; if (HandleFileError != null) { @@ -149,8 +146,7 @@ private void ProcessQueue() { fWriter.WriteMessage(message, entryQueue.Count == 0); stopLogging = false; } - } - catch { + } catch { // exception is possible in HandleFileError or if proposed file name cannot be used // let's ignore it in that case -> file logger will stop processing log messages } @@ -203,17 +199,14 @@ void DetermineLastFileLogName() { .OrderByDescending(fInfo => fInfo.Name) .OrderByDescending(fInfo => fInfo.LastWriteTime).First(); LogFileName = lastFileInfo.FullName; - } - else { + } else { // no files yet, use default name LogFileName = baseLogFileName; } - } - else { + } else { LogFileName = baseLogFileName; } - } - else { + } else { LogFileName = baseLogFileName; } } @@ -227,8 +220,7 @@ void createLogFileStream(bool append) { LogFileStream = new FileStream(LogFileName, FileMode.OpenOrCreate, FileAccess.Write); if (append) { LogFileStream.Seek(0, SeekOrigin.End); - } - else { + } else { LogFileStream.SetLength(0); // clear the file } LogFileWriter = new StreamWriter(LogFileStream); @@ -243,8 +235,7 @@ internal void UseNewLogFile(string newLogFileName) { void OpenFile(bool append) { try { createLogFileStream(append); - } - catch (Exception ex) { + } catch (Exception ex) { if (FileLogPrv.HandleFileError != null) { var fileErr = new FileError(LogFileName, ex); FileLogPrv.HandleFileError(fileErr); @@ -267,45 +258,46 @@ string GetNextFileLogName() { new System.IO.FileInfo(baseLogFileName).Length < FileLogPrv.FileSizeLimitBytes) return baseLogFileName; - if (FileLogPrv.Options.RollingFilesConvention == FileLoggerOptions.FileRollingConvention.Ascending) { - //Unchanged default handling just optimized for performance and code reuse - int currentFileIndex = GetIndexFromFile(baseLogFileName, LogFileName); - var nextFileIndex = currentFileIndex + 1; - if (FileLogPrv.MaxRollingFiles > 0) { - nextFileIndex %= FileLogPrv.MaxRollingFiles; - } - return GetFileFromIndex(baseLogFileName, nextFileIndex); - } - else if (FileLogPrv.Options.RollingFilesConvention == FileLoggerOptions.FileRollingConvention.AscendingStableBase) { - //Move current base file to next rolling file number - RollingNumber++; - if (FileLogPrv.MaxRollingFiles > 0) { - RollingNumber %= FileLogPrv.MaxRollingFiles - 1; - } - var moveFile = GetFileFromIndex(baseLogFileName, RollingNumber + 1); - if (System.IO.File.Exists(moveFile)) { - System.IO.File.Delete(moveFile); - } - System.IO.File.Move(baseLogFileName, moveFile); - return baseLogFileName; - } - else if (FileLogPrv.Options.RollingFilesConvention == FileLoggerOptions.FileRollingConvention.Descending) { - //Move all existing files to index +1 except if they are > MaxRollingFiles - var logFiles = GetExistingLogFiles(baseLogFileName); - if (logFiles.Length > 0) { - foreach (var finfo in logFiles.OrderByDescending(fInfo => fInfo.Name)) { - var index = GetIndexFromFile(baseLogFileName, finfo.Name); - if (FileLogPrv.MaxRollingFiles > 0 && index >= FileLogPrv.MaxRollingFiles - 1) { - continue; + switch (FileLogPrv.Options.RollingFilesConvention) { + case FileLoggerOptions.FileRollingConvention.Ascending: + //Unchanged default handling just optimized for performance and code reuse + int currentFileIndex = GetIndexFromFile(baseLogFileName, LogFileName); + var nextFileIndex = currentFileIndex + 1; + if (FileLogPrv.MaxRollingFiles > 0) { + nextFileIndex %= FileLogPrv.MaxRollingFiles; } - var moveFile = GetFileFromIndex(baseLogFileName, index + 1); + return GetFileFromIndex(baseLogFileName, nextFileIndex); + case FileLoggerOptions.FileRollingConvention.AscendingStableBase: { + //Move current base file to next rolling file number + RollingNumber++; + if (FileLogPrv.MaxRollingFiles > 0) { + RollingNumber %= FileLogPrv.MaxRollingFiles - 1; + } + var moveFile = GetFileFromIndex(baseLogFileName, RollingNumber + 1); if (System.IO.File.Exists(moveFile)) { System.IO.File.Delete(moveFile); } - System.IO.File.Move(finfo.FullName, moveFile); + System.IO.File.Move(baseLogFileName, moveFile); + return baseLogFileName; + } + case FileLoggerOptions.FileRollingConvention.Descending: { + //Move all existing files to index +1 except if they are > MaxRollingFiles + var logFiles = GetExistingLogFiles(baseLogFileName); + if (logFiles.Length > 0) { + foreach (var finfo in logFiles.OrderByDescending(fInfo => fInfo.Name)) { + var index = GetIndexFromFile(baseLogFileName, finfo.Name); + if (FileLogPrv.MaxRollingFiles > 0 && index >= FileLogPrv.MaxRollingFiles - 1) { + continue; + } + var moveFile = GetFileFromIndex(baseLogFileName, index + 1); + if (System.IO.File.Exists(moveFile)) { + System.IO.File.Delete(moveFile); + } + System.IO.File.Move(finfo.FullName, moveFile); + } + } + return baseLogFileName; } - } - return baseLogFileName; } throw new NotImplementedException("RollingFilesConvention"); }