[CLI] Some fixes for logging

This commit is contained in:
VaDiM 2023-03-10 21:01:12 +03:00
parent 0925751776
commit ad1b3b4911
5 changed files with 26 additions and 21 deletions

View File

@ -16,11 +16,11 @@ namespace AssetStudio
public interface ILogger
{
void Log(LoggerEvent loggerEvent, string message);
void Log(LoggerEvent loggerEvent, string message, bool ignoreLevel = false);
}
public sealed class DummyLogger : ILogger
{
public void Log(LoggerEvent loggerEvent, string message) { }
public void Log(LoggerEvent loggerEvent, string message, bool ignoreLevel) { }
}
}

View File

@ -97,9 +97,9 @@ namespace AssetStudioCLI
}
}
public void Log(LoggerEvent logMsgLevel, string message)
public void Log(LoggerEvent logMsgLevel, string message, bool ignoreLevel)
{
if (logMsgLevel < logMinLevel || string.IsNullOrEmpty(message))
if ((logMsgLevel < logMinLevel && !ignoreLevel) || string.IsNullOrEmpty(message))
{
return;
}

View File

@ -22,7 +22,7 @@ namespace AssetStudioCLI
var image = m_Texture2D.ConvertToImage(flip: true);
if (image == null)
{
Logger.Error($"Failed to convert texture \"{m_Texture2D.m_Name}\" into image");
Logger.Error($"Export error. Failed to convert texture \"{m_Texture2D.m_Name}\" into image");
return false;
}
using (image)
@ -52,7 +52,7 @@ namespace AssetStudioCLI
var m_AudioData = m_AudioClip.m_AudioData.GetData();
if (m_AudioData == null || m_AudioData.Length == 0)
{
Logger.Error($"[{item.Text}]: AudioData was not found");
Logger.Error($"Export error. \"{item.Text}\": AudioData was not found");
return false;
}
var converter = new AudioClipConverter(m_AudioClip);
@ -72,7 +72,7 @@ namespace AssetStudioCLI
var buffer = converter.ConvertToWav(m_AudioData);
if (buffer == null)
{
Logger.Error($"[{item.Text}]: Failed to convert to Wav");
Logger.Error($"Export error. \"{item.Text}\": Failed to convert to Wav");
return false;
}
File.WriteAllBytes(exportFullPath, buffer);

View File

@ -161,6 +161,7 @@ namespace AssetStudioCLI
public void ShowExportableAssetsInfo()
{
var exportableAssetsCountDict = new Dictionary<ClassIDType, int>();
string info = "";
if (parsedAssetsList.Count > 0)
{
foreach (var asset in parsedAssetsList)
@ -175,7 +176,7 @@ namespace AssetStudioCLI
}
}
var info = "\n[Exportable Assets Count]\n";
info += "\n[Exportable Assets Count]\n";
foreach (var assetType in exportableAssetsCountDict.Keys)
{
info += $"# {assetType}: {exportableAssetsCountDict[assetType]}\n";
@ -184,15 +185,19 @@ namespace AssetStudioCLI
{
info += $"#\n# Total: {parsedAssetsList.Count} assets";
}
}
else
{
info += "No exportable assets found.";
}
if (options.o_logLevel.Value > LoggerEvent.Info)
{
Console.WriteLine(info);
}
else
{
Logger.Info(info);
}
if (options.o_logLevel.Value > LoggerEvent.Info)
{
Console.WriteLine(info);
}
else
{
Logger.Info(info);
}
}
@ -327,20 +332,20 @@ namespace AssetStudioCLI
if (exportedCount == 0)
{
Logger.Info("Nothing exported.");
Logger.Default.Log(LoggerEvent.Info, "Nothing exported.", ignoreLevel: true);
}
else if (toExportCount > exportedCount)
{
Logger.Info($"Finished exporting {exportedCount} asset(s) to \"{options.o_outputFolder.Value.Color(Ansi.BrightYellow)}\".");
Logger.Default.Log(LoggerEvent.Info, $"Finished exporting {exportedCount} asset(s) to \"{options.o_outputFolder.Value.Color(Ansi.BrightYellow)}\".", ignoreLevel: true);
}
else
{
Logger.Info($"Finished exporting {exportedCount} asset(s) to \"{options.o_outputFolder.Value.Color(Ansi.BrightGreen)}\".");
Logger.Default.Log(LoggerEvent.Info, $"Finished exporting {exportedCount} asset(s) to \"{options.o_outputFolder.Value.Color(Ansi.BrightGreen)}\".", ignoreLevel: true);
}
if (toExportCount > exportedCount)
{
Logger.Info($"{toExportCount - exportedCount} asset(s) skipped (not extractable or file(s) already exist).");
Logger.Default.Log(LoggerEvent.Info, $"{toExportCount - exportedCount} asset(s) skipped (not extractable or file(s) already exist).", ignoreLevel: true);
}
}

View File

@ -14,7 +14,7 @@ namespace AssetStudioGUI
this.action = action;
}
public void Log(LoggerEvent loggerEvent, string message)
public void Log(LoggerEvent loggerEvent, string message, bool ignoreLevel)
{
switch (loggerEvent)
{