namespace LegacyForge.API;
public enum LogLevel
{
Debug = 0,
Info = 1,
Warning = 2,
Error = 3
}
///
/// Logging facade that routes messages through the native runtime to the game's debug output.
///
public static class Logger
{
private static Action? LogHandler;
///
/// Set the log handler that routes messages to the native runtime.
/// Called by LegacyForge.Core during initialization.
///
public static void SetLogHandler(Action 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($"[LegacyForge/{level}] {message}");
}
}