diff --git a/SpaceWarp/API/Logging/BaseModLogger.cs b/SpaceWarp/API/Logging/BaseModLogger.cs index 16abad61..f0f337ca 100644 --- a/SpaceWarp/API/Logging/BaseModLogger.cs +++ b/SpaceWarp/API/Logging/BaseModLogger.cs @@ -5,13 +5,13 @@ /// public abstract class BaseModLogger { - protected abstract void Log(LogLevel level, string message); + protected abstract void Log(LogLevel level, string message, params object[] args); - public void Trace(string message) => Log(LogLevel.Trace, message); - public void Debug(string message) => Log(LogLevel.Debug, message); - public void Info(string message) => Log(LogLevel.Info, message); - public void Warn(string message) => Log(LogLevel.Warn, message); - public void Error(string message) => Log(LogLevel.Error, message); - public void Critical(string message) => Log(LogLevel.Critical, message); + public void Trace(string message, params object[] args) => Log(LogLevel.Trace, message, args); + public void Debug(string message, params object[] args) => Log(LogLevel.Debug, message, args); + public void Info(string message, params object[] args) => Log(LogLevel.Info, message, args); + public void Warn(string message, params object[] args) => Log(LogLevel.Warn, message, args); + public void Error(string message, params object[] args) => Log(LogLevel.Error, message, args); + public void Critical(string message, params object[] args) => Log(LogLevel.Critical, message, args); } } \ No newline at end of file diff --git a/SpaceWarp/API/Logging/ModLogger.cs b/SpaceWarp/API/Logging/ModLogger.cs index 42ba2486..d2a6f8ef 100644 --- a/SpaceWarp/API/Logging/ModLogger.cs +++ b/SpaceWarp/API/Logging/ModLogger.cs @@ -1,4 +1,6 @@ -using System.Text; +using System; +using System.Text; +using System.Threading.Tasks; namespace SpaceWarp.API.Logging { @@ -17,23 +19,26 @@ public ModLogger(string moduleName) { _moduleName = moduleName; } - - private void InternalLog(LogLevel level, string message) + + private string BuildLogMessage(LogLevel level, string message, object[] args) { StringBuilder sb = new StringBuilder(); + string formattedMessage = string.Format(message, args); + sb.Append($"[{DateTime.Now:HH:mm:ss.fff}] "); sb.Append($"[{_moduleName}] "); sb.Append($"[{level}] "); - sb.Append(message); + sb.Append(formattedMessage); - UnityEngine.Debug.Log(sb.ToString()); + return sb.ToString(); } - protected override void Log(LogLevel level, string message) + protected override void Log(LogLevel level, string message, params object[] args) { if ((int)level >= SpaceWarpGlobalConfiguration.Instance.LogLevel) { - InternalLog(level,message); + string logMessage = BuildLogMessage(level, message, args); + UnityEngine.Debug.Log(logMessage); } } }