From 5e354694351846981010f169f1b117f96c589877 Mon Sep 17 00:00:00 2001 From: Razmoth <32140579+Razmoth@users.noreply.github.com> Date: Mon, 22 Jan 2024 20:51:59 +0400 Subject: [PATCH] - [CLI] update `--logger_flags` command. --- AssetStudio.CLI/Components/CommandLine.cs | 9 +++++---- AssetStudio.CLI/Program.cs | 2 +- AssetStudio/ILogger.cs | 1 - 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/AssetStudio.CLI/Components/CommandLine.cs b/AssetStudio.CLI/Components/CommandLine.cs index bad49ad..4c64667 100644 --- a/AssetStudio.CLI/Components/CommandLine.cs +++ b/AssetStudio.CLI/Components/CommandLine.cs @@ -49,7 +49,7 @@ namespace AssetStudio.CLI public class Options { public bool Silent { get; set; } - public LoggerEvent LoggerFlags { get; set; } + public LoggerEvent[] LoggerFlags { get; set; } public ClassIDType[] TypeFilter { get; set; } public Regex[] NameFilter { get; set; } public Regex[] ContainerFilter { get; set; } @@ -72,7 +72,7 @@ namespace AssetStudio.CLI public class OptionsBinder : BinderBase { public readonly Option Silent; - public readonly Option LoggerFlags; + public readonly Option LoggerFlags; public readonly Option TypeFilter; public readonly Option NameFilter; public readonly Option ContainerFilter; @@ -94,7 +94,7 @@ namespace AssetStudio.CLI public OptionsBinder() { Silent = new Option("--silent", "Hide log messages."); - LoggerFlags = new Option("--logger_flags", "Flags to control toggle log events."); + LoggerFlags = new Option("--logger_flags", "Flags to control toggle log events.") { AllowMultipleArgumentsPerToken = true, ArgumentHelpName = "Verbose|Debug|Info|etc.." }; TypeFilter = new Option("--types", "Specify unity class type(s)") { AllowMultipleArgumentsPerToken = true, ArgumentHelpName = "Texture2D|Sprite|etc.." }; NameFilter = new Option("--names", result => result.Tokens.Select(x => new Regex(x.Value, RegexOptions.IgnoreCase)).ToArray(), false, "Specify name regex filter(s).") { AllowMultipleArgumentsPerToken = true }; ContainerFilter = new Option("--containers", result => result.Tokens.Select(x => new Regex(x.Value, RegexOptions.IgnoreCase)).ToArray(), false, "Specify container regex filter(s).") { AllowMultipleArgumentsPerToken = true }; @@ -126,6 +126,7 @@ namespace AssetStudio.CLI } }, false, "XOR key to decrypt MiHoYoBinData."); + LoggerFlags.AddValidator(FilterValidator); TypeFilter.AddValidator(FilterValidator); NameFilter.AddValidator(FilterValidator); ContainerFilter.AddValidator(FilterValidator); @@ -152,7 +153,7 @@ namespace AssetStudio.CLI GameName.FromAmong(GameManager.GetGameNames()); - LoggerFlags.SetDefaultValue(LoggerEvent.Default); + LoggerFlags.SetDefaultValue(new LoggerEvent[] { LoggerEvent.Debug, LoggerEvent.Info, LoggerEvent.Warning, LoggerEvent.Error }); GroupAssetsType.SetDefaultValue(AssetGroupOption.ByType); AssetExportType.SetDefaultValue(ExportType.Convert); MapOp.SetDefaultValue(MapOpType.None); diff --git a/AssetStudio.CLI/Program.cs b/AssetStudio.CLI/Program.cs index a0069ca..7f62c9f 100644 --- a/AssetStudio.CLI/Program.cs +++ b/AssetStudio.CLI/Program.cs @@ -39,7 +39,7 @@ namespace AssetStudio.CLI } Studio.Game = game; - Logger.Default = new ConsoleLogger() { Flags = o.LoggerFlags }; + Logger.Default = new ConsoleLogger() { Flags = o.LoggerFlags.Aggregate((e, x) => e |= x) }; Logger.FileLogging = Settings.Default.enableFileLogging; AssetsHelper.Minimal = Settings.Default.minimalAssetMap; AssetsHelper.SetUnityVersion(o.UnityVersion); diff --git a/AssetStudio/ILogger.cs b/AssetStudio/ILogger.cs index 9655a37..30b8ed3 100644 --- a/AssetStudio/ILogger.cs +++ b/AssetStudio/ILogger.cs @@ -15,7 +15,6 @@ namespace AssetStudio Info = 4, Warning = 8, Error = 16, - Default = Debug | Info | Warning | Error, All = Verbose | Debug | Info | Warning | Error, }