Files
LegacyWeaveLoader/WeaveLoader.API/Logger.cs
Jacobwasbeast fa195fdc2e Rebrand LegacyForge to Weave Loader
Rename across entire codebase:
- LegacyForge -> WeaveLoader (identifiers, namespaces, classes, DLLs)
- LegacyForgeRuntime -> WeaveLoaderRuntime (C++ project)
- LegacyForge.API/Core/Launcher -> WeaveLoader.API/Core/Launcher (C# projects)
- [LegacyForge] -> [WeaveLoader] (log prefixes)
- legacyforge -> weaveloader (config files, log files, backup suffixes)
- Display name "Weave Loader" in README, CONTRIBUTING, LICENSE
2026-03-06 23:31:18 -06:00

37 lines
1.1 KiB
C#

namespace WeaveLoader.API;
public enum LogLevel
{
Debug = 0,
Info = 1,
Warning = 2,
Error = 3
}
/// <summary>
/// Logging facade that routes messages through the native runtime to the game's debug output.
/// </summary>
public static class Logger
{
private static Action<string, LogLevel>? LogHandler;
/// <summary>
/// Set the log handler that routes messages to the native runtime.
/// Called by WeaveLoader.Core during initialization.
/// </summary>
public static void SetLogHandler(Action<string, LogLevel> handler) => LogHandler = handler;
public static void Debug(string message) => Log(message, LogLevel.Debug);
public static void Info(string message) => Log(message, LogLevel.Info);
public static void Warning(string message) => Log(message, LogLevel.Warning);
public static void Error(string message) => Log(message, LogLevel.Error);
public static void Log(string message, LogLevel level = LogLevel.Info)
{
if (LogHandler != null)
LogHandler(message, level);
else
Console.WriteLine($"[WeaveLoader/{level}] {message}");
}
}