From bac43467cf1371e995b558bf6c23a2d6e0d1012f Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 7 Oct 2020 16:37:10 -0700 Subject: [PATCH] Wire up source for logging where possible --- SabreTools.Library/DatFiles/DatFile.cs | 3 ++- SabreTools.Library/DatFiles/ItemDictionary.cs | 14 ++++++++--- SabreTools.Library/DatItems/DatItem.cs | 20 ++++++++++++--- SabreTools.Library/FileTypes/BaseArchive.cs | 2 +- SabreTools.Library/FileTypes/Folder.cs | 9 ++++++- SabreTools.Library/Filtering/ExtraIni.cs | 14 ++++++++++- SabreTools.Library/Filtering/Filter.cs | 14 ++++++++++- SabreTools.Library/Help/TopLevel.cs | 25 ++++++++++++++++++- SabreTools.Library/Skippers/SkipperRule.cs | 14 ++++++++++- SabreTools.Library/Tools/InternalStopwatch.cs | 4 ++- 10 files changed, 104 insertions(+), 15 deletions(-) diff --git a/SabreTools.Library/DatFiles/DatFile.cs b/SabreTools.Library/DatFiles/DatFile.cs index 6c496685..057f0aee 100644 --- a/SabreTools.Library/DatFiles/DatFile.cs +++ b/SabreTools.Library/DatFiles/DatFile.cs @@ -50,7 +50,7 @@ namespace SabreTools.Library.DatFiles /// Logging object /// [JsonIgnore, XmlIgnore] - protected Logger logger = new Logger(); + protected Logger logger; #endregion @@ -62,6 +62,7 @@ namespace SabreTools.Library.DatFiles /// DatFile to get the values from public DatFile(DatFile datFile) { + logger = new Logger(this); if (datFile != null) { Header = datFile.Header; diff --git a/SabreTools.Library/DatFiles/ItemDictionary.cs b/SabreTools.Library/DatFiles/ItemDictionary.cs index 7e9cca30..7515636d 100644 --- a/SabreTools.Library/DatFiles/ItemDictionary.cs +++ b/SabreTools.Library/DatFiles/ItemDictionary.cs @@ -49,7 +49,12 @@ namespace SabreTools.Library.DatFiles /// /// Logging object /// - private readonly static Logger logger = new Logger(); + private Logger logger; + + /// + /// Static logger for static methods + /// + private static Logger staticLogger = new Logger(); #endregion @@ -952,6 +957,7 @@ namespace SabreTools.Library.DatFiles bucketedBy = Field.NULL; mergedBy = DedupeType.None; items = new ConcurrentDictionary>(); + logger = new Logger(this); } #endregion @@ -1417,13 +1423,13 @@ namespace SabreTools.Library.DatFiles dirStats.ResetStatistics(); } - logger.Verbose($"Beginning stat collection for '{file.CurrentPath}'"); + staticLogger.Verbose($"Beginning stat collection for '{file.CurrentPath}'"); List games = new List(); DatFile datdata = DatFile.CreateAndParse(file.CurrentPath); datdata.Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: true); // Output single DAT stats (if asked) - logger.User($"Adding stats for file '{file.CurrentPath}'\n"); + staticLogger.User($"Adding stats for file '{file.CurrentPath}'\n"); if (single) { reports.ForEach(report => report.ReplaceStatistics(datdata.Header.FileName, datdata.Items.Keys.Count, datdata.Items)); @@ -1467,7 +1473,7 @@ namespace SabreTools.Library.DatFiles // Output footer if needed reports.ForEach(report => report.WriteFooter()); - logger.User($"{Environment.NewLine}Please check the log folder if the stats scrolled offscreen"); + staticLogger.User($"{Environment.NewLine}Please check the log folder if the stats scrolled offscreen"); } /// diff --git a/SabreTools.Library/DatItems/DatItem.cs b/SabreTools.Library/DatItems/DatItem.cs index a89836c5..8a36cb0f 100644 --- a/SabreTools.Library/DatItems/DatItem.cs +++ b/SabreTools.Library/DatItems/DatItem.cs @@ -380,7 +380,13 @@ namespace SabreTools.Library.DatItems /// Logging object /// [JsonIgnore, XmlIgnore] - protected static Logger logger = new Logger(); + protected Logger logger; + + /// + /// Static logger for static methods + /// + [JsonIgnore, XmlIgnore] + protected static Logger staticLogger = new Logger(); #endregion @@ -414,6 +420,14 @@ namespace SabreTools.Library.DatItems #region Constructors + /// + /// Constructor + /// + public DatItem() + { + logger = new Logger(this); + } + /// /// Create a specific type of DatItem to be used based on an ItemType /// @@ -1027,14 +1041,14 @@ namespace SabreTools.Library.DatItems // If the current item exactly matches the last item, then we don't add it if (datItem.GetDuplicateStatus(lastItem).HasFlag(DupeType.All)) { - logger.Verbose($"Exact duplicate found for '{datItemName}'"); + staticLogger.Verbose($"Exact duplicate found for '{datItemName}'"); continue; } // If the current name matches the previous name, rename the current item else if (datItemName == lastItemName) { - logger.Verbose($"Name duplicate found for '{datItemName}'"); + staticLogger.Verbose($"Name duplicate found for '{datItemName}'"); if (datItem.ItemType == ItemType.Disk || datItem.ItemType == ItemType.Media || datItem.ItemType == ItemType.Rom) { diff --git a/SabreTools.Library/FileTypes/BaseArchive.cs b/SabreTools.Library/FileTypes/BaseArchive.cs index 69fedfd6..76eb8940 100644 --- a/SabreTools.Library/FileTypes/BaseArchive.cs +++ b/SabreTools.Library/FileTypes/BaseArchive.cs @@ -63,7 +63,7 @@ namespace SabreTools.Library.FileTypes return archive; // Create the archive based on the type - logger.Verbose($"Found archive of type: {at}"); + staticLogger.Verbose($"Found archive of type: {at}"); switch (at) { case FileType.GZipArchive: diff --git a/SabreTools.Library/FileTypes/Folder.cs b/SabreTools.Library/FileTypes/Folder.cs index 82a324e0..4e2f4359 100644 --- a/SabreTools.Library/FileTypes/Folder.cs +++ b/SabreTools.Library/FileTypes/Folder.cs @@ -22,7 +22,12 @@ namespace SabreTools.Library.FileTypes /// /// Logging object /// - protected static Logger logger = new Logger(); + protected Logger logger; + + /// + /// Static logger for static methods + /// + protected static Logger staticLogger = new Logger(); /// /// Flag specific to Folder to omit Machine name from output path @@ -42,6 +47,7 @@ namespace SabreTools.Library.FileTypes { this.Type = FileType.Folder; this.writeToParent = writeToParent; + logger = new Logger(this); } /// @@ -54,6 +60,7 @@ namespace SabreTools.Library.FileTypes : base(filename, getHashes) { this.Type = FileType.Folder; + logger = new Logger(this); } /// diff --git a/SabreTools.Library/Filtering/ExtraIni.cs b/SabreTools.Library/Filtering/ExtraIni.cs index 999eb8fc..1b41af4a 100644 --- a/SabreTools.Library/Filtering/ExtraIni.cs +++ b/SabreTools.Library/Filtering/ExtraIni.cs @@ -21,7 +21,19 @@ namespace SabreTools.Library.Filtering /// /// Logging object /// - private readonly Logger logger = new Logger(); + private readonly Logger logger; + + #endregion + + #region Constructors + + /// + /// Constructor + /// + public ExtraIni() + { + logger = new Logger(this); + } #endregion diff --git a/SabreTools.Library/Filtering/Filter.cs b/SabreTools.Library/Filtering/Filter.cs index f158d31f..d93b8e88 100644 --- a/SabreTools.Library/Filtering/Filter.cs +++ b/SabreTools.Library/Filtering/Filter.cs @@ -291,12 +291,24 @@ namespace SabreTools.Library.Filtering /// /// Logging object /// - private readonly Logger logger = new Logger(); + private readonly Logger logger; #endregion #region Instance methods + #region Constructors + + /// + /// Constructor + /// + public Filter() + { + logger = new Logger(this); + } + + #endregion + #region Filter Population /// diff --git a/SabreTools.Library/Help/TopLevel.cs b/SabreTools.Library/Help/TopLevel.cs index cb54f6ec..c93ca3c9 100644 --- a/SabreTools.Library/Help/TopLevel.cs +++ b/SabreTools.Library/Help/TopLevel.cs @@ -11,17 +11,38 @@ namespace SabreTools.Library.Help /// public abstract class TopLevel : Feature { + #region Fields + + /// + /// List of files, directories, and potential wildcard paths + /// public List Inputs = new List(); + #endregion + #region Logging /// /// Logging object /// - private readonly Logger logger = new Logger(); + private readonly Logger logger; #endregion + #region Constructors + + /// + /// Constructor + /// + public TopLevel() + { + logger = new Logger(this); + } + + #endregion + + #region Processing + /// /// Process args list based on current feature /// @@ -63,6 +84,8 @@ namespace SabreTools.Library.Help /// public virtual void ProcessFeatures(Dictionary features) { } + #endregion + #region Generic Extraction /// diff --git a/SabreTools.Library/Skippers/SkipperRule.cs b/SabreTools.Library/Skippers/SkipperRule.cs index ffac73d6..4a2897cf 100644 --- a/SabreTools.Library/Skippers/SkipperRule.cs +++ b/SabreTools.Library/Skippers/SkipperRule.cs @@ -43,7 +43,19 @@ namespace SabreTools.Library.Skippers /// /// Logging object /// - private readonly Logger logger = new Logger(); + private readonly Logger logger; + + #endregion + + #region Constructors + + /// + /// Constructor + /// + public SkipperRule() + { + logger = new Logger(this); + } #endregion diff --git a/SabreTools.Library/Tools/InternalStopwatch.cs b/SabreTools.Library/Tools/InternalStopwatch.cs index c5e0e151..a7e5e593 100644 --- a/SabreTools.Library/Tools/InternalStopwatch.cs +++ b/SabreTools.Library/Tools/InternalStopwatch.cs @@ -11,7 +11,7 @@ namespace SabreTools.Library.Tools { private string _subject; private DateTime _startTime; - private readonly Logger _logger = new Logger(); + private readonly Logger _logger; /// /// Constructor that initalizes the stopwatch @@ -19,6 +19,7 @@ namespace SabreTools.Library.Tools public InternalStopwatch() { _subject = string.Empty; + _logger = new Logger(this); } /// @@ -28,6 +29,7 @@ namespace SabreTools.Library.Tools public InternalStopwatch(string subject) { _subject = subject; + _logger = new Logger(this); Start(); }