This commit is contained in:
Lillith Rose 2025-10-08 19:02:55 -04:00
parent 449ee2f194
commit 0a1852e0c9
7 changed files with 102 additions and 1 deletions

View file

@ -0,0 +1,53 @@
using System.Collections.Generic;
using UnityEngine;
namespace gay.lilyy.logger
{
public enum LogLevel
{
Info,
Warning,
Error,
Success,
Debug
}
public abstract class BaseLogger
{
protected abstract string SystemName { get; }
protected abstract Dictionary<LogLevel, string> LogColors { get; }
protected abstract Dictionary<LogLevel, string> LogPrefixes { get; }
public virtual void Log(LogLevel level, string message, Object context = null)
{
string color = LogColors.ContainsKey(level) ? LogColors[level] : "#FFFFFF";
string prefix = LogPrefixes.ContainsKey(level) ? LogPrefixes[level] + " " : "";
string styledMessage = $"<color={color}>{prefix}[{SystemName}] {message}</color>";
switch (level)
{
case LogLevel.Info:
UnityEngine.Debug.Log(styledMessage, context);
break;
case LogLevel.Warning:
UnityEngine.Debug.LogWarning(styledMessage, context);
break;
case LogLevel.Error:
UnityEngine.Debug.LogError(styledMessage, context);
break;
case LogLevel.Success:
UnityEngine.Debug.Log(styledMessage, context);
break;
case LogLevel.Debug:
UnityEngine.Debug.Log(styledMessage, context);
break;
}
}
public virtual void Info(string message, Object context = null) => Log(LogLevel.Info, message, context);
public virtual void Warning(string message, Object context = null) => Log(LogLevel.Warning, message, context);
public virtual void Error(string message, Object context = null) => Log(LogLevel.Error, message, context);
public virtual void Success(string message, Object context = null) => Log(LogLevel.Success, message, context);
public virtual void Debug(string message, Object context = null) => Log(LogLevel.Debug, message, context);
}
}