From cf54891993965aeb0df9f027f2a42122e9e8a1a8 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 24 Oct 2024 00:36:44 -0400 Subject: [PATCH] Update SabreTools.IO --- Headerer/Features/BaseFeature.cs | 2 +- Headerer/Headerer.csproj | 5 +- Headerer/Program.cs | 2 +- RombaSharp/Features/BaseFeature.cs | 2 +- RombaSharp/Features/RefreshDats.cs | 4 +- RombaSharp/Program.cs | 2 +- RombaSharp/RombaSharp.csproj | 90 ++-- SabreTools.Core/SabreTools.Core.csproj | 130 ++--- SabreTools.Core/Tools/Converters.cs | 18 - SabreTools.DatFiles/DatFile.cs | 2 +- SabreTools.DatFiles/ItemDictionary.cs | 2 +- SabreTools.DatFiles/ItemDictionaryDB.cs | 2 +- .../SabreTools.DatFiles.csproj | 88 ++-- SabreTools.DatFiles/Setter.cs | 2 +- SabreTools.DatItems/DatItem.cs | 2 +- .../SabreTools.DatItems.csproj | 82 ++-- SabreTools.DatTools/DatFileTool.cs | 2 +- SabreTools.DatTools/DatFromDir.cs | 2 +- SabreTools.DatTools/Parser.cs | 2 +- SabreTools.DatTools/Rebuilder.cs | 2 +- .../SabreTools.DatTools.csproj | 90 ++-- SabreTools.DatTools/Splitter.cs | 2 +- SabreTools.DatTools/Statistics.cs | 2 +- SabreTools.DatTools/Verification.cs | 2 +- SabreTools.DatTools/Writer.cs | 2 +- SabreTools.FileTypes/Folder.cs | 2 +- .../SabreTools.FileTypes.csproj | 100 ++-- SabreTools.Filtering/Cleaner.cs | 2 +- SabreTools.Filtering/ExtraIni.cs | 2 +- SabreTools.Filtering/ExtraIniItem.cs | 2 +- SabreTools.Filtering/Remover.cs | 2 +- .../SabreTools.Filtering.csproj | 82 ++-- SabreTools.Filtering/Splitter.cs | 2 +- SabreTools.Help/SabreTools.Help.csproj | 72 +-- SabreTools.Help/TopLevel.cs | 2 +- SabreTools.Logging/Enums.cs | 13 - SabreTools.Logging/InternalStopwatch.cs | 61 --- SabreTools.Logging/LogEventArgs.cs | 79 --- SabreTools.Logging/Logger.cs | 180 ------- SabreTools.Logging/LoggerImpl.cs | 458 ------------------ SabreTools.Logging/SabreTools.Logging.csproj | 40 -- SabreTools.Reports/BaseReport.cs | 2 +- SabreTools.Reports/Formats/Html.cs | 2 +- SabreTools.Reports/Formats/SeparatedValue.cs | 2 +- SabreTools.Reports/Formats/Textfile.cs | 2 +- SabreTools.Reports/SabreTools.Reports.csproj | 72 +-- SabreTools.Test/Core/ConvertersTests.cs | 14 - SabreTools.Test/SabreTools.Test.csproj | 74 +-- SabreTools.sln | 10 - SabreTools/Features/BaseFeature.cs | 2 +- SabreTools/Features/Batch.cs | 2 +- SabreTools/Features/Sort.cs | 2 +- SabreTools/Features/Split.cs | 2 +- SabreTools/Features/Update.cs | 2 +- SabreTools/Features/Verify.cs | 2 +- SabreTools/Program.cs | 2 +- SabreTools/SabreTools.csproj | 84 ++-- 57 files changed, 521 insertions(+), 1395 deletions(-) delete mode 100644 SabreTools.Logging/Enums.cs delete mode 100644 SabreTools.Logging/InternalStopwatch.cs delete mode 100644 SabreTools.Logging/LogEventArgs.cs delete mode 100644 SabreTools.Logging/Logger.cs delete mode 100644 SabreTools.Logging/LoggerImpl.cs delete mode 100644 SabreTools.Logging/SabreTools.Logging.csproj diff --git a/Headerer/Features/BaseFeature.cs b/Headerer/Features/BaseFeature.cs index b984eb3f..0649fedc 100644 --- a/Headerer/Features/BaseFeature.cs +++ b/Headerer/Features/BaseFeature.cs @@ -4,7 +4,7 @@ using Microsoft.Data.Sqlite; using SabreTools.Core.Tools; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace Headerer.Features { diff --git a/Headerer/Headerer.csproj b/Headerer/Headerer.csproj index 1ab56417..1dd733bd 100644 --- a/Headerer/Headerer.csproj +++ b/Headerer/Headerer.csproj @@ -2,8 +2,8 @@ - Exe net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + Exe false false latest @@ -38,13 +38,12 @@ - - + diff --git a/Headerer/Program.cs b/Headerer/Program.cs index c5edb673..6445fbd8 100644 --- a/Headerer/Program.cs +++ b/Headerer/Program.cs @@ -5,7 +5,7 @@ using Headerer.Features; using SabreTools.Core; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace Headerer { diff --git a/RombaSharp/Features/BaseFeature.cs b/RombaSharp/Features/BaseFeature.cs index 02dfdb40..d23c0186 100644 --- a/RombaSharp/Features/BaseFeature.cs +++ b/RombaSharp/Features/BaseFeature.cs @@ -13,7 +13,7 @@ using SabreTools.DatTools; using SabreTools.FileTypes; using SabreTools.Hashing; using SabreTools.Help; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace RombaSharp.Features { diff --git a/RombaSharp/Features/RefreshDats.cs b/RombaSharp/Features/RefreshDats.cs index 4409d126..02ac8dfc 100644 --- a/RombaSharp/Features/RefreshDats.cs +++ b/RombaSharp/Features/RefreshDats.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.IO; +using Microsoft.Data.Sqlite; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.DatItems.Formats; @@ -8,8 +9,7 @@ using SabreTools.FileTypes; using SabreTools.Hashing; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; -using Microsoft.Data.Sqlite; +using SabreTools.IO.Logging; namespace RombaSharp.Features { diff --git a/RombaSharp/Program.cs b/RombaSharp/Program.cs index 1436da4b..da9a5d9c 100644 --- a/RombaSharp/Program.cs +++ b/RombaSharp/Program.cs @@ -5,7 +5,7 @@ using RombaSharp.Features; using SabreTools.Core; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace RombaSharp { diff --git a/RombaSharp/RombaSharp.csproj b/RombaSharp/RombaSharp.csproj index dad94899..6d09fe08 100644 --- a/RombaSharp/RombaSharp.csproj +++ b/RombaSharp/RombaSharp.csproj @@ -1,52 +1,52 @@ - - - Exe - net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + Exe + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - MIT - git - https://github.com/SabreTools/SabreTools - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + MIT + git + https://github.com/SabreTools/SabreTools + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - + + + + + + + + + - - - - - - - - - + + + - + \ No newline at end of file diff --git a/SabreTools.Core/SabreTools.Core.csproj b/SabreTools.Core/SabreTools.Core.csproj index 60982d0d..ac2890e6 100644 --- a/SabreTools.Core/SabreTools.Core.csproj +++ b/SabreTools.Core/SabreTools.Core.csproj @@ -1,75 +1,75 @@ - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - + + + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + - - - Always - - - Never - - + + + Always + + + Never + + - + \ No newline at end of file diff --git a/SabreTools.Core/Tools/Converters.cs b/SabreTools.Core/Tools/Converters.cs index f1892b63..fa9eeedc 100644 --- a/SabreTools.Core/Tools/Converters.cs +++ b/SabreTools.Core/Tools/Converters.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using SabreTools.Logging; namespace SabreTools.Core.Tools { @@ -8,23 +7,6 @@ namespace SabreTools.Core.Tools { #region String to Enum - /// - /// Get the LogLevel value for an input string, if possible - /// - /// String value to parse/param> - /// - public static LogLevel AsLogLevel(this string? value) - { - return value?.ToLowerInvariant() switch - { - "verbose" => LogLevel.VERBOSE, - "user" => LogLevel.USER, - "warning" => LogLevel.WARNING, - "error" => LogLevel.ERROR, - _ => LogLevel.VERBOSE, - }; - } - /// /// Get bool? value from input string /// diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index e10b801d..12996112 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -11,7 +11,7 @@ using SabreTools.DatFiles.Formats; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.Hashing; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.DatFiles { diff --git a/SabreTools.DatFiles/ItemDictionary.cs b/SabreTools.DatFiles/ItemDictionary.cs index 12f6bbd5..9c37e868 100644 --- a/SabreTools.DatFiles/ItemDictionary.cs +++ b/SabreTools.DatFiles/ItemDictionary.cs @@ -18,7 +18,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.Hashing; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Matching.Compare; namespace SabreTools.DatFiles diff --git a/SabreTools.DatFiles/ItemDictionaryDB.cs b/SabreTools.DatFiles/ItemDictionaryDB.cs index d43b4dcf..a54a654d 100644 --- a/SabreTools.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.DatFiles/ItemDictionaryDB.cs @@ -17,7 +17,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.Hashing; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Matching.Compare; /* diff --git a/SabreTools.DatFiles/SabreTools.DatFiles.csproj b/SabreTools.DatFiles/SabreTools.DatFiles.csproj index d25016af..678f523f 100644 --- a/SabreTools.DatFiles/SabreTools.DatFiles.csproj +++ b/SabreTools.DatFiles/SabreTools.DatFiles.csproj @@ -1,51 +1,51 @@ - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - - - + + + + + - - - - - - - - + + + + + + + + - + \ No newline at end of file diff --git a/SabreTools.DatFiles/Setter.cs b/SabreTools.DatFiles/Setter.cs index 9ed34c01..44de8922 100644 --- a/SabreTools.DatFiles/Setter.cs +++ b/SabreTools.DatFiles/Setter.cs @@ -4,7 +4,7 @@ using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.DatItems.Formats; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.DatFiles { diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs index 13d56300..0313e105 100644 --- a/SabreTools.DatItems/DatItem.cs +++ b/SabreTools.DatItems/DatItem.cs @@ -10,7 +10,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems.Formats; using SabreTools.FileTypes; using SabreTools.Hashing; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Matching.Compare; namespace SabreTools.DatItems diff --git a/SabreTools.DatItems/SabreTools.DatItems.csproj b/SabreTools.DatItems/SabreTools.DatItems.csproj index 9169b2d5..09cddfc1 100644 --- a/SabreTools.DatItems/SabreTools.DatItems.csproj +++ b/SabreTools.DatItems/SabreTools.DatItems.csproj @@ -1,48 +1,48 @@ - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - - - + + + + + - - - - - + + + + + - + \ No newline at end of file diff --git a/SabreTools.DatTools/DatFileTool.cs b/SabreTools.DatTools/DatFileTool.cs index 21b75ae6..10791dee 100644 --- a/SabreTools.DatTools/DatFileTool.cs +++ b/SabreTools.DatTools/DatFileTool.cs @@ -9,7 +9,7 @@ using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.Filtering; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.DatTools { diff --git a/SabreTools.DatTools/DatFromDir.cs b/SabreTools.DatTools/DatFromDir.cs index f6388d73..e59d7032 100644 --- a/SabreTools.DatTools/DatFromDir.cs +++ b/SabreTools.DatTools/DatFromDir.cs @@ -15,7 +15,7 @@ using SabreTools.FileTypes; using SabreTools.FileTypes.Archives; using SabreTools.Hashing; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.DatTools { diff --git a/SabreTools.DatTools/Parser.cs b/SabreTools.DatTools/Parser.cs index dd90958c..5bbcb756 100644 --- a/SabreTools.DatTools/Parser.cs +++ b/SabreTools.DatTools/Parser.cs @@ -6,7 +6,7 @@ using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.IO; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.DatTools { diff --git a/SabreTools.DatTools/Rebuilder.cs b/SabreTools.DatTools/Rebuilder.cs index e46ca8f0..eb652e90 100644 --- a/SabreTools.DatTools/Rebuilder.cs +++ b/SabreTools.DatTools/Rebuilder.cs @@ -12,7 +12,7 @@ using SabreTools.FileTypes; using SabreTools.FileTypes.Archives; using SabreTools.Hashing; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Skippers; namespace SabreTools.DatTools diff --git a/SabreTools.DatTools/SabreTools.DatTools.csproj b/SabreTools.DatTools/SabreTools.DatTools.csproj index 3b09761f..5f51dc53 100644 --- a/SabreTools.DatTools/SabreTools.DatTools.csproj +++ b/SabreTools.DatTools/SabreTools.DatTools.csproj @@ -1,52 +1,52 @@ - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - + \ No newline at end of file diff --git a/SabreTools.DatTools/Splitter.cs b/SabreTools.DatTools/Splitter.cs index 40c90aa8..d90866cb 100644 --- a/SabreTools.DatTools/Splitter.cs +++ b/SabreTools.DatTools/Splitter.cs @@ -11,7 +11,7 @@ using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Matching.Compare; namespace SabreTools.DatTools diff --git a/SabreTools.DatTools/Statistics.cs b/SabreTools.DatTools/Statistics.cs index e0ef94a9..51ffcc0e 100644 --- a/SabreTools.DatTools/Statistics.cs +++ b/SabreTools.DatTools/Statistics.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using SabreTools.DatFiles; using SabreTools.IO; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Reports; namespace SabreTools.DatTools diff --git a/SabreTools.DatTools/Verification.cs b/SabreTools.DatTools/Verification.cs index 9c1856c5..3d2b3baf 100644 --- a/SabreTools.DatTools/Verification.cs +++ b/SabreTools.DatTools/Verification.cs @@ -8,7 +8,7 @@ using SabreTools.DatItems.Formats; using SabreTools.FileTypes; using SabreTools.FileTypes.Archives; using SabreTools.Hashing; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.DatTools { diff --git a/SabreTools.DatTools/Writer.cs b/SabreTools.DatTools/Writer.cs index dea02471..6c420942 100644 --- a/SabreTools.DatTools/Writer.cs +++ b/SabreTools.DatTools/Writer.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Reports; namespace SabreTools.DatTools diff --git a/SabreTools.FileTypes/Folder.cs b/SabreTools.FileTypes/Folder.cs index 6d57a0d1..bada0cbf 100644 --- a/SabreTools.FileTypes/Folder.cs +++ b/SabreTools.FileTypes/Folder.cs @@ -6,7 +6,7 @@ using SabreTools.Core.Tools; using SabreTools.FileTypes.Archives; using SabreTools.IO; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.FileTypes { diff --git a/SabreTools.FileTypes/SabreTools.FileTypes.csproj b/SabreTools.FileTypes/SabreTools.FileTypes.csproj index f6fb7e96..51fa6d25 100644 --- a/SabreTools.FileTypes/SabreTools.FileTypes.csproj +++ b/SabreTools.FileTypes/SabreTools.FileTypes.csproj @@ -1,58 +1,58 @@ - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + false + false + latest + enable + true + + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - + \ No newline at end of file diff --git a/SabreTools.Filtering/Cleaner.cs b/SabreTools.Filtering/Cleaner.cs index a48b596a..77965be3 100644 --- a/SabreTools.Filtering/Cleaner.cs +++ b/SabreTools.Filtering/Cleaner.cs @@ -5,7 +5,7 @@ using System.Runtime.CompilerServices; using SabreTools.Core.Tools; using SabreTools.DatFiles; using SabreTools.DatItems; -using SabreTools.Logging; +using SabreTools.IO.Logging; [assembly: InternalsVisibleTo("SabreTools.Test")] namespace SabreTools.Filtering diff --git a/SabreTools.Filtering/ExtraIni.cs b/SabreTools.Filtering/ExtraIni.cs index 34681281..59bb153b 100644 --- a/SabreTools.Filtering/ExtraIni.cs +++ b/SabreTools.Filtering/ExtraIni.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using SabreTools.Core.Filter; using SabreTools.DatFiles; using SabreTools.DatItems; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Filtering { diff --git a/SabreTools.Filtering/ExtraIniItem.cs b/SabreTools.Filtering/ExtraIniItem.cs index e6ecf126..4b1797e8 100644 --- a/SabreTools.Filtering/ExtraIniItem.cs +++ b/SabreTools.Filtering/ExtraIniItem.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; +using SabreTools.IO.Logging; using SabreTools.IO.Readers; -using SabreTools.Logging; namespace SabreTools.Filtering { diff --git a/SabreTools.Filtering/Remover.cs b/SabreTools.Filtering/Remover.cs index 0bcf7dc6..f64d2ba7 100644 --- a/SabreTools.Filtering/Remover.cs +++ b/SabreTools.Filtering/Remover.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using SabreTools.Core.Filter; using SabreTools.DatFiles; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Filtering { diff --git a/SabreTools.Filtering/SabreTools.Filtering.csproj b/SabreTools.Filtering/SabreTools.Filtering.csproj index 8f2bcd87..373925df 100644 --- a/SabreTools.Filtering/SabreTools.Filtering.csproj +++ b/SabreTools.Filtering/SabreTools.Filtering.csproj @@ -1,47 +1,47 @@ - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - - - - - - - - + + + + + + - + + + + + \ No newline at end of file diff --git a/SabreTools.Filtering/Splitter.cs b/SabreTools.Filtering/Splitter.cs index 56061c19..247de2e1 100644 --- a/SabreTools.Filtering/Splitter.cs +++ b/SabreTools.Filtering/Splitter.cs @@ -2,7 +2,7 @@ using SabreTools.Core.Tools; using SabreTools.DatFiles; using SabreTools.DatItems; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Filtering { diff --git a/SabreTools.Help/SabreTools.Help.csproj b/SabreTools.Help/SabreTools.Help.csproj index d138f0ce..803858db 100644 --- a/SabreTools.Help/SabreTools.Help.csproj +++ b/SabreTools.Help/SabreTools.Help.csproj @@ -1,40 +1,44 @@  - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - + + + - + + + + + \ No newline at end of file diff --git a/SabreTools.Help/TopLevel.cs b/SabreTools.Help/TopLevel.cs index 4c291055..7d1b7670 100644 --- a/SabreTools.Help/TopLevel.cs +++ b/SabreTools.Help/TopLevel.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Help { diff --git a/SabreTools.Logging/Enums.cs b/SabreTools.Logging/Enums.cs deleted file mode 100644 index cdc45f97..00000000 --- a/SabreTools.Logging/Enums.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace SabreTools.Logging -{ - /// - /// Severity of the logging statement - /// - public enum LogLevel - { - VERBOSE = 0, - USER, - WARNING, - ERROR, - } -} diff --git a/SabreTools.Logging/InternalStopwatch.cs b/SabreTools.Logging/InternalStopwatch.cs deleted file mode 100644 index 92c20b68..00000000 --- a/SabreTools.Logging/InternalStopwatch.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; - -namespace SabreTools.Logging -{ - /// - /// Stopwatch class for keeping track of duration in the code - /// - public class InternalStopwatch - { - private string _subject; - private DateTime _startTime; - private readonly Logger _logger; - - /// - /// Constructor that initalizes the stopwatch - /// - public InternalStopwatch() - { - _subject = string.Empty; - _logger = new Logger(this); - } - - /// - /// Constructor that initalizes the stopwatch with a subject and starts immediately - /// - /// Subject of the stopwatch - public InternalStopwatch(string subject) - { - _subject = subject; - _logger = new Logger(this); - Start(); - } - - /// - /// Start the stopwatch and display subject text - /// - public void Start() - { - _startTime = DateTime.Now; - _logger.User($"{_subject}..."); - } - - /// - /// Start the stopwatch and display subject text - /// - /// Text to show on stopwatch start - public void Start(string subject) - { - _subject = subject; - Start(); - } - - /// - /// End the stopwatch and display subject text - /// - public void Stop() - { - _logger.User($"{_subject} completed in {DateTime.Now.Subtract(_startTime):G}"); - } - } -} diff --git a/SabreTools.Logging/LogEventArgs.cs b/SabreTools.Logging/LogEventArgs.cs deleted file mode 100644 index 00d5186b..00000000 --- a/SabreTools.Logging/LogEventArgs.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; - -namespace SabreTools.Logging -{ - /// - /// Generic delegate type for log events - /// - public delegate void LogEventHandler(object? sender, LogEventArgs args); - - /// - /// Logging specific event arguments - /// - public class LogEventArgs : EventArgs - { - /// - /// LogLevel for the event - /// - public readonly LogLevel LogLevel; - - /// - /// Log statement to be printed - /// - public readonly string? Statement = null; - - /// - /// Exception to be passed along to the event handler - /// - public readonly Exception? Exception = null; - - /// - /// Total count for progress log events - /// - public readonly long? TotalCount = null; - - /// - /// Current count for progress log events - /// - public readonly long? CurrentCount = null; - - /// - /// Statement constructor - /// - public LogEventArgs(LogLevel logLevel, string statement) - { - LogLevel = logLevel; - Statement = statement; - } - - /// - /// Statement constructor - /// - public LogEventArgs(LogLevel logLevel, Exception exception) - { - LogLevel = logLevel; - Exception = exception; - } - - /// - /// Statement and exception constructor - /// - public LogEventArgs(LogLevel logLevel, string statement, Exception exception) - { - LogLevel = logLevel; - Statement = statement; - Exception = exception; - } - - /// - /// Progress constructor - /// - public LogEventArgs(long total, long current, LogLevel logLevel, string? statement = null) - { - LogLevel = logLevel; - Statement = statement; - TotalCount = total; - CurrentCount = current; - } - } -} diff --git a/SabreTools.Logging/Logger.cs b/SabreTools.Logging/Logger.cs deleted file mode 100644 index d16b6c89..00000000 --- a/SabreTools.Logging/Logger.cs +++ /dev/null @@ -1,180 +0,0 @@ -using System; - -namespace SabreTools.Logging -{ - /// - /// Per-class logging - /// - public class Logger - { - /// - /// Instance associated with this logger - /// - /// TODO: Derive class name for this object, if possible - private readonly object? _instance; - - /// - /// Constructor - /// - public Logger(object? instance = null) - { - _instance = instance; - } - - #region Log Event Triggers - - #region Verbose - - /// - /// Write the given string as a verbose message to the log output - /// - /// String to be written log - /// True if the output could be written, false otherwise - public void Verbose(string output) - => LoggerImpl.Verbose(_instance, output); - - /// - /// Write the given exception as a verbose message to the log output - /// - /// Exception to be written log - /// True if the output could be written, false otherwise - public void Verbose(Exception ex) - => LoggerImpl.Verbose(_instance, ex); - - /// - /// Write the given exception and string as a verbose message to the log output - /// - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public void Verbose(Exception ex, string output) - => LoggerImpl.Verbose(_instance, ex, output); - - /// - /// Write the given verbose progress message to the log output - /// - /// Total count for progress - /// Current count for progres - /// String to be written log - public void Verbose(long total, long current, string? output = null) - => LoggerImpl.Verbose(_instance, total, current, output); - - #endregion - - #region User - - /// - /// Write the given string as a user message to the log output - /// - /// String to be written log - /// True if the output could be written, false otherwise - public void User(string output) - => LoggerImpl.User(_instance, output); - - /// - /// Write the given exception as a user message to the log output - /// - /// Exception to be written log - /// True if the output could be written, false otherwise - public void User(Exception ex) - => LoggerImpl.User(_instance, ex); - - /// - /// Write the given exception and string as a user message to the log output - /// - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public void User(Exception ex, string output) - => LoggerImpl.User(_instance, ex, output); - - /// - /// Write the given user progress message to the log output - /// - /// Total count for progress - /// Current count for progres - /// String to be written log - public void User(long total, long current, string? output = null) - => LoggerImpl.User(_instance, total, current, output); - - #endregion - - #region Warning - - /// - /// Write the given string as a warning to the log output - /// - /// String to be written log - /// True if the output could be written, false otherwise - public void Warning(string output) - => LoggerImpl.Warning(_instance, output); - - /// - /// Write the given exception as a warning to the log output - /// - /// Exception to be written log - /// True if the output could be written, false otherwise - public void Warning(Exception ex) - => LoggerImpl.Warning(_instance, ex); - - /// - /// Write the given exception and string as a warning to the log output - /// - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public void Warning(Exception ex, string output) - => LoggerImpl.Warning(_instance, ex, output); - - /// - /// Write the given warning progress message to the log output - /// - /// Total count for progress - /// Current count for progres - /// String to be written log - public void Warning(long total, long current, string? output = null) - => LoggerImpl.Warning(_instance, total, current, output); - - #endregion - - #region Error - - /// - /// Writes the given string as an error in the log - /// - /// String to be written log - /// True if the output could be written, false otherwise - public void Error(string output) - => LoggerImpl.Error(_instance, output); - - /// - /// Writes the given exception as an error in the log - /// - /// Exception to be written log - /// True if the output could be written, false otherwise - public void Error(Exception ex) - => LoggerImpl.Error(_instance, ex); - - /// - /// Writes the given exception and string as an error in the log - /// - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public void Error(Exception ex, string output) - => LoggerImpl.Error(_instance, ex, output); - - /// - /// Write the given error progress message to the log output - /// - /// Total count for progress - /// Current count for progres - /// String to be written log - public void Error(long total, long current, string? output = null) - => LoggerImpl.Error(_instance, total, current, output); - - #endregion - - #endregion - } -} diff --git a/SabreTools.Logging/LoggerImpl.cs b/SabreTools.Logging/LoggerImpl.cs deleted file mode 100644 index 7da2ef13..00000000 --- a/SabreTools.Logging/LoggerImpl.cs +++ /dev/null @@ -1,458 +0,0 @@ -using System; -using System.IO; -using System.Text; -using SabreTools.IO.Extensions; - -namespace SabreTools.Logging -{ - /// - /// Internal logging implementation - /// - public static class LoggerImpl - { - #region Fields - - /// - /// Optional output filename for logs - /// - public static string? Filename { get; private set; } = null; - - /// - /// Determines if we're logging to file or not - /// - public static bool LogToFile { get { return !string.IsNullOrEmpty(Filename); } } - - /// - /// Optional output log directory - /// - public static string? LogDirectory { get; private set; } = null; - - /// - /// Determines the lowest log level to output - /// - public static LogLevel LowestLogLevel { get; set; } = LogLevel.VERBOSE; - - /// - /// Determines whether to prefix log lines with level and datetime - /// - public static bool AppendPrefix { get; set; } = true; - - /// - /// Determines whether to throw if an exception is logged - /// - public static bool ThrowOnError { get; set; } = false; - - /// - /// Logging start time for metrics - /// - public static DateTime StartTime { get; private set; } - - /// - /// Determines if there were errors logged - /// - public static bool LoggedErrors { get; private set; } = false; - - /// - /// Determines if there were warnings logged - /// - public static bool LoggedWarnings { get; private set; } = false; - - #endregion - - #region Private variables - - /// - /// StreamWriter representing the output log file - /// - private static StreamWriter? _log; - - /// - /// Object lock for multithreaded logging - /// - private static readonly object _lock = new(); - - #endregion - - #region Control - - /// - /// Generate and set the log filename - /// - /// Base filename to use - /// True to append a date to the filename, false otherwise - public static void SetFilename(string filename, bool addDate = true) - { - // Get the full log path - string fullPath = Path.GetFullPath(filename); - - // Set the log directory - LogDirectory = Path.GetDirectoryName(fullPath); - - // Set the - if (addDate) - Filename = $"{Path.GetFileNameWithoutExtension(fullPath)} ({DateTime.Now:yyyy-MM-dd HH-mm-ss}).{fullPath.GetNormalizedExtension()}"; - else - Filename = Path.GetFileName(fullPath); - } - - /// - /// Start logging by opening output file (if necessary) - /// - /// True if the logging was started correctly, false otherwise - public static bool Start() - { - // Setup the logging handler to always use the internal log - LogEventHandler += HandleLogEvent; - - // Start the logging - StartTime = DateTime.Now; - if (!LogToFile) - return true; - - // Setup file output and perform initial log - try - { - if (!string.IsNullOrEmpty(LogDirectory) && !Directory.Exists(LogDirectory)) - Directory.CreateDirectory(LogDirectory); - - FileStream logfile = File.Create(Path.Combine(LogDirectory ?? string.Empty, Filename ?? string.Empty)); -#if NET20 || NET35 || NET40 - _log = new StreamWriter(logfile, Encoding.UTF8, 4096) -#else - _log = new StreamWriter(logfile, Encoding.UTF8, 4096, true) -#endif - { - AutoFlush = true - }; - - _log.WriteLine($"Logging started {StartTime:yyyy-MM-dd HH:mm:ss}"); - _log.WriteLine($"Command run: {string.Join(" ", Environment.GetCommandLineArgs())}"); - } - catch - { - return false; - } - - return true; - } - - /// - /// End logging by closing output file (if necessary) - /// - /// True if all ending output is to be suppressed, false otherwise (default) - /// True if the logging was ended correctly, false otherwise - public static bool Close(bool suppress = false) - { - if (!suppress) - { - if (LoggedWarnings) - Console.WriteLine("There were warnings in the last run! Check the log for more details"); - - if (LoggedErrors) - Console.WriteLine("There were errors in the last run! Check the log for more details"); - - TimeSpan span = DateTime.Now.Subtract(StartTime); - -#if NET20 || NET35 - string total = span.ToString(); -#else - // Special case for multi-day runs - string total; - if (span >= TimeSpan.FromDays(1)) - total = span.ToString(@"d\:hh\:mm\:ss"); - else - total = span.ToString(@"hh\:mm\:ss"); -#endif - - if (!LogToFile) - { - Console.WriteLine($"Total runtime: {total}"); - return true; - } - - try - { - _log?.WriteLine($"Logging ended {DateTime.Now:yyyy-MM-dd HH:mm:ss}"); - _log?.WriteLine($"Total runtime: {total}"); - Console.WriteLine($"Total runtime: {total}"); - _log?.Close(); - } - catch - { - return false; - } - } - else - { - try - { - _log?.Close(); - } - catch - { - return false; - } - } - - return true; - } - - #endregion - - #region Event Handling - - /// - /// Handler for log events - /// - public static event LogEventHandler LogEventHandler = delegate { }; - - /// - /// Default log event handling - /// - public static void HandleLogEvent(object? sender, LogEventArgs args) - { - // Null args means we can't handle it - if (args == null) - return; - - // If we have an exception and we're throwing on that - if (ThrowOnError && args.Exception != null) - throw args.Exception; - - // If we have a warning or error, set the flags accordingly - if (args.LogLevel == LogLevel.WARNING) - LoggedWarnings = true; - if (args.LogLevel == LogLevel.ERROR) - LoggedErrors = true; - - // Setup the statement based on the inputs - string logLine; - if (args.Exception != null) - { - logLine = $"{(args.Statement != null ? args.Statement + ": " : string.Empty)}{args.Exception}"; - } - else if (args.TotalCount != null && args.CurrentCount != null) - { - double percentage = ((double)args.CurrentCount.Value / args.TotalCount.Value) * 100; - logLine = $"{percentage:N2}%{(args.Statement != null ? ": " + args.Statement : string.Empty)}"; - } - else - { - logLine = args.Statement ?? string.Empty; - } - - // Then write to the log - Log(logLine, args.LogLevel); - } - - /// - /// Write the given string to the log output - /// - /// String to be written log - /// Severity of the information being logged - private static void Log(string output, LogLevel loglevel) - { - // If the log level is less than the filter level, we skip it but claim we didn't - if (loglevel < LowestLogLevel) - return; - - // USER and ERROR writes to console - if (loglevel == LogLevel.USER || loglevel == LogLevel.ERROR) - Console.WriteLine((loglevel == LogLevel.ERROR && AppendPrefix ? loglevel.ToString() + " " : string.Empty) + output); - - // If we're writing to file, use the existing stream - if (LogToFile) - { - try - { - lock (_lock) - { - _log?.WriteLine((AppendPrefix ? $"{loglevel} - {DateTime.Now} - " : string.Empty) + output); - } - } - catch (Exception ex) when (ThrowOnError) - { - Console.WriteLine(ex); - Console.WriteLine("Could not write to log file!"); - return; - } - } - - return; - } - - #endregion - - #region Log Event Triggers - - #region Verbose - - /// - /// Write the given string as a verbose message to the log output - /// - /// Instance object that's the source of logging - /// String to be written log - /// True if the output could be written, false otherwise - public static void Verbose(object? instance, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.VERBOSE, output)); - - /// - /// Write the given exception as a verbose message to the log output - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// True if the output could be written, false otherwise - public static void Verbose(object? instance, Exception ex) - => LogEventHandler(instance, new LogEventArgs(LogLevel.VERBOSE, ex)); - - /// - /// Write the given exception and string as a verbose message to the log output - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public static void Verbose(object? instance, Exception ex, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.VERBOSE, output, ex)); - - /// - /// Write the given verbose progress message to the log output - /// - /// Instance object that's the source of logging - /// Total count for progress - /// Current count for progres - /// String to be written log - public static void Verbose(object? instance, long total, long current, string? output = null) - => LogEventHandler(instance, new LogEventArgs(total, current, LogLevel.VERBOSE, output)); - - #endregion - - #region User - - /// - /// Write the given string as a user message to the log output - /// - /// Instance object that's the source of logging - /// String to be written log - /// True if the output could be written, false otherwise - public static void User(object? instance, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.USER, output)); - - /// - /// Write the given exception as a user message to the log output - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// True if the output could be written, false otherwise - public static void User(object? instance, Exception ex) - => LogEventHandler(instance, new LogEventArgs(LogLevel.USER, ex)); - - /// - /// Write the given exception and string as a user message to the log output - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public static void User(object? instance, Exception ex, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.USER, output, ex)); - - /// - /// Write the given user progress message to the log output - /// - /// Instance object that's the source of logging - /// Total count for progress - /// Current count for progres - /// String to be written log - public static void User(object? instance, long total, long current, string? output = null) - => LogEventHandler(instance, new LogEventArgs(total, current, LogLevel.USER, output)); - - #endregion - - #region Warning - - /// - /// Write the given string as a warning to the log output - /// - /// Instance object that's the source of logging - /// String to be written log - /// True if the output could be written, false otherwise - public static void Warning(object? instance, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.WARNING, output)); - - /// - /// Write the given exception as a warning to the log output - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// True if the output could be written, false otherwise - public static void Warning(object? instance, Exception ex) - => LogEventHandler(instance, new LogEventArgs(LogLevel.WARNING, ex)); - - //// - /// Write the given exception and string as a warning to the log output - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public static void Warning(object? instance, Exception ex, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.WARNING, output, ex)); - - /// - /// Write the given warning progress message to the log output - /// - /// Instance object that's the source of logging - /// Total count for progress - /// Current count for progres - /// String to be written log - public static void Warning(object? instance, long total, long current, string? output = null) - => LogEventHandler(instance, new LogEventArgs(total, current, LogLevel.WARNING, output)); - - #endregion - - #region Error - - /// - /// Writes the given string as an error in the log - /// - /// Instance object that's the source of logging - /// String to be written log - /// True if the output could be written, false otherwise - public static void Error(object? instance, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.ERROR, output)); - - /// - /// Writes the given exception as an error in the log - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// True if the output could be written, false otherwise - public static void Error(object? instance, Exception ex) - => LogEventHandler(instance, new LogEventArgs(LogLevel.ERROR, ex)); - - /// - /// Writes the given exception and string as an error in the log - /// - /// Instance object that's the source of logging - /// Exception to be written log - /// String to be written log - /// True if the output could be written, false otherwise - public static void Error(object? instance, Exception ex, string output) - => LogEventHandler(instance, new LogEventArgs(LogLevel.ERROR, output, ex)); - - /// - /// Write the given error progress message to the log output - /// - /// Instance object that's the source of logging - /// Total count for progress - /// Current count for progres - /// String to be written log - public static void Error(object? instance, long total, long current, string? output = null) - => LogEventHandler(instance, new LogEventArgs(total, current, LogLevel.ERROR, output)); - - #endregion - - #endregion - } -} diff --git a/SabreTools.Logging/SabreTools.Logging.csproj b/SabreTools.Logging/SabreTools.Logging.csproj deleted file mode 100644 index 8dcafa49..00000000 --- a/SabreTools.Logging/SabreTools.Logging.csproj +++ /dev/null @@ -1,40 +0,0 @@ - - - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 - - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - - - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - - - - - - - diff --git a/SabreTools.Reports/BaseReport.cs b/SabreTools.Reports/BaseReport.cs index 3ba40fd1..4b11919a 100644 --- a/SabreTools.Reports/BaseReport.cs +++ b/SabreTools.Reports/BaseReport.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using SabreTools.DatFiles; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Reports.Formats; namespace SabreTools.Reports diff --git a/SabreTools.Reports/Formats/Html.cs b/SabreTools.Reports/Formats/Html.cs index 30763d79..e714ca64 100644 --- a/SabreTools.Reports/Formats/Html.cs +++ b/SabreTools.Reports/Formats/Html.cs @@ -7,7 +7,7 @@ using System.Xml; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.Hashing; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Reports.Formats { diff --git a/SabreTools.Reports/Formats/SeparatedValue.cs b/SabreTools.Reports/Formats/SeparatedValue.cs index 01237895..55ddb6cf 100644 --- a/SabreTools.Reports/Formats/SeparatedValue.cs +++ b/SabreTools.Reports/Formats/SeparatedValue.cs @@ -5,8 +5,8 @@ using System.Text; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.Hashing; +using SabreTools.IO.Logging; using SabreTools.IO.Writers; -using SabreTools.Logging; namespace SabreTools.Reports.Formats { diff --git a/SabreTools.Reports/Formats/Textfile.cs b/SabreTools.Reports/Formats/Textfile.cs index 16ff42c6..5fa1b952 100644 --- a/SabreTools.Reports/Formats/Textfile.cs +++ b/SabreTools.Reports/Formats/Textfile.cs @@ -4,7 +4,7 @@ using System.IO; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.Hashing; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Reports.Formats { diff --git a/SabreTools.Reports/SabreTools.Reports.csproj b/SabreTools.Reports/SabreTools.Reports.csproj index 091c94a4..45fb6e31 100644 --- a/SabreTools.Reports/SabreTools.Reports.csproj +++ b/SabreTools.Reports/SabreTools.Reports.csproj @@ -1,42 +1,42 @@  - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - true - false - false - latest - enable - true - true - 1.1.2 + + + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + true + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + https://github.com/SabreTools/SabreTools + git + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - - + + + + - + \ No newline at end of file diff --git a/SabreTools.Test/Core/ConvertersTests.cs b/SabreTools.Test/Core/ConvertersTests.cs index 4ef1f3d7..ab3b20db 100644 --- a/SabreTools.Test/Core/ConvertersTests.cs +++ b/SabreTools.Test/Core/ConvertersTests.cs @@ -1,7 +1,6 @@ using SabreTools.Core.Tools; using SabreTools.DatFiles; using SabreTools.DatItems; -using SabreTools.Logging; using Xunit; namespace SabreTools.Test.Core @@ -225,18 +224,6 @@ namespace SabreTools.Test.Core Assert.Equal(expected, actual); } - [Theory] - [InlineData(null, LogLevel.VERBOSE)] - [InlineData("verbose", LogLevel.VERBOSE)] - [InlineData("user", LogLevel.USER)] - [InlineData("warning", LogLevel.WARNING)] - [InlineData("error", LogLevel.ERROR)] - public void AsLogLevelTest(string? field, LogLevel expected) - { - LogLevel actual = field.AsEnumValue(); - Assert.Equal(expected, actual); - } - [Theory] [InlineData(null, MachineType.None)] [InlineData("none", MachineType.None)] @@ -733,7 +720,6 @@ namespace SabreTools.Test.Core [InlineData(ItemStatus.NULL, 7)] [InlineData(ItemType.NULL, 54)] [InlineData(LoadFlag.NULL, 14)] - [InlineData(LogLevel.VERBOSE, 4)] [InlineData(MachineType.None, 6)] [InlineData(MergingFlag.None, 12)] [InlineData(NodumpFlag.None, 4)] diff --git a/SabreTools.Test/SabreTools.Test.csproj b/SabreTools.Test/SabreTools.Test.csproj index d28124e4..9ab26fb3 100644 --- a/SabreTools.Test/SabreTools.Test.csproj +++ b/SabreTools.Test/SabreTools.Test.csproj @@ -1,44 +1,44 @@ - - net6.0;net8.0 - false - latest - enable - + + net6.0;net8.0 + false + latest + enable + - - - - - - - - + + + + + + + + - - - + + + - - - Always - - + + + Always + + - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + - + \ No newline at end of file diff --git a/SabreTools.sln b/SabreTools.sln index 12dc1977..66c313f5 100644 --- a/SabreTools.sln +++ b/SabreTools.sln @@ -20,8 +20,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Core", "SabreToo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Help", "SabreTools.Help\SabreTools.Help.csproj", "{55364167-844F-4B58-8280-F5327FA3D8E7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Logging", "SabreTools.Logging\SabreTools.Logging.csproj", "{3D54D896-19F0-4723-B1E3-E40FAFE5A078}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Filtering", "SabreTools.Filtering\SabreTools.Filtering.csproj", "{35129634-0F13-416A-8D4D-35B71DFECFFD}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.FileTypes", "SabreTools.FileTypes\SabreTools.FileTypes.csproj", "{0B36F39B-69CB-4E8A-B251-D063CB08B247}" @@ -84,14 +82,6 @@ Global {55364167-844F-4B58-8280-F5327FA3D8E7}.Release|Any CPU.Build.0 = Release|Any CPU {55364167-844F-4B58-8280-F5327FA3D8E7}.Release|x64.ActiveCfg = Release|Any CPU {55364167-844F-4B58-8280-F5327FA3D8E7}.Release|x64.Build.0 = Release|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Debug|x64.ActiveCfg = Debug|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Debug|x64.Build.0 = Debug|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Release|Any CPU.Build.0 = Release|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Release|x64.ActiveCfg = Release|Any CPU - {3D54D896-19F0-4723-B1E3-E40FAFE5A078}.Release|x64.Build.0 = Release|Any CPU {35129634-0F13-416A-8D4D-35B71DFECFFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {35129634-0F13-416A-8D4D-35B71DFECFFD}.Debug|Any CPU.Build.0 = Debug|Any CPU {35129634-0F13-416A-8D4D-35B71DFECFFD}.Debug|x64.ActiveCfg = Debug|Any CPU diff --git a/SabreTools/Features/BaseFeature.cs b/SabreTools/Features/BaseFeature.cs index 5be9cbb2..d0817b9a 100644 --- a/SabreTools/Features/BaseFeature.cs +++ b/SabreTools/Features/BaseFeature.cs @@ -10,7 +10,7 @@ using SabreTools.Filtering; using SabreTools.Hashing; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; using SabreTools.Reports; namespace SabreTools.Features diff --git a/SabreTools/Features/Batch.cs b/SabreTools/Features/Batch.cs index 679df3eb..5e11300f 100644 --- a/SabreTools/Features/Batch.cs +++ b/SabreTools/Features/Batch.cs @@ -11,7 +11,7 @@ using SabreTools.Filtering; using SabreTools.Hashing; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Features { diff --git a/SabreTools/Features/Sort.cs b/SabreTools/Features/Sort.cs index a3fed52a..1649d65e 100644 --- a/SabreTools/Features/Sort.cs +++ b/SabreTools/Features/Sort.cs @@ -5,7 +5,7 @@ using SabreTools.DatTools; using SabreTools.FileTypes; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Features { diff --git a/SabreTools/Features/Split.cs b/SabreTools/Features/Split.cs index 905af202..00f93fa8 100644 --- a/SabreTools/Features/Split.cs +++ b/SabreTools/Features/Split.cs @@ -7,7 +7,7 @@ using SabreTools.DatTools; using SabreTools.Help; using SabreTools.IO; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Features { diff --git a/SabreTools/Features/Update.cs b/SabreTools/Features/Update.cs index 5133cae9..b31f2f02 100644 --- a/SabreTools/Features/Update.cs +++ b/SabreTools/Features/Update.cs @@ -8,7 +8,7 @@ using SabreTools.DatTools; using SabreTools.Help; using SabreTools.IO; using SabreTools.IO.Extensions; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Features { diff --git a/SabreTools/Features/Verify.cs b/SabreTools/Features/Verify.cs index 97ea5bc0..1362c8d9 100644 --- a/SabreTools/Features/Verify.cs +++ b/SabreTools/Features/Verify.cs @@ -5,7 +5,7 @@ using SabreTools.FileTypes; using SabreTools.Hashing; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools.Features { diff --git a/SabreTools/Program.cs b/SabreTools/Program.cs index 8b91faf6..3f25798b 100644 --- a/SabreTools/Program.cs +++ b/SabreTools/Program.cs @@ -5,7 +5,7 @@ using SabreTools.Core; using SabreTools.Features; using SabreTools.Help; using SabreTools.IO; -using SabreTools.Logging; +using SabreTools.IO.Logging; namespace SabreTools { diff --git a/SabreTools/SabreTools.csproj b/SabreTools/SabreTools.csproj index 870de1df..77a069f5 100644 --- a/SabreTools/SabreTools.csproj +++ b/SabreTools/SabreTools.csproj @@ -1,50 +1,46 @@ - - - Exe - net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - false - false - latest - enable - true - true - 1.1.2 + + + net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 + Exe + false + false + latest + enable + true + true + 1.1.2 - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - MIT - git - https://github.com/SabreTools/SabreTools - + + Matt Nadareski + Copyright (c)2016-2024 Matt Nadareski + https://github.com/SabreTools/ + MIT + git + https://github.com/SabreTools/SabreTools + - - - win-x86;win-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - - - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - - - net6.0;net7.0;net8.0 - + + + win-x86;win-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 + + + win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 + + + net6.0;net7.0;net8.0 + - - - - - - - + + + + + + + - - - - - + \ No newline at end of file