using System; namespace Syntriax.Engine.Core.Debug; public abstract class LoggerBase : ILogger { public ILogger.Level FilterLevel { get; set; } = ILogger.Level.Info; public void Log(string message, ILogger.Level level = ILogger.Level.Info, bool force = false) { if (!force && level < FilterLevel) return; string timestamp = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt"); Write($"[{timestamp}] [{level}] \t{message}"); } protected abstract void Write(string message); }