feat: ILogger.Shared for global access

This commit is contained in:
Syntriax 2025-07-21 10:18:00 +03:00
parent 83b155fc5e
commit 65cfaf1b4a
3 changed files with 9 additions and 7 deletions

View File

@ -2,6 +2,8 @@ namespace Syntriax.Engine.Core.Debug;
public interface ILogger
{
static ILogger Shared { get; set; } = new ConsoleLogger();
Level FilterLevel { get; set; }
void Log(string message, Level level = Level.Info, bool force = false);

View File

@ -2,7 +2,7 @@ namespace Syntriax.Engine.Core.Debug;
public class LoggerContainer : Behaviour, ILogger
{
public ILogger Logger { get; set; } = new ConsoleLogger();
public ILogger Logger { get; set; } = ILogger.Shared;
public ILogger.Level FilterLevel { get => Logger.FilterLevel; set => Logger.FilterLevel = value; }
public void Log(string message, ILogger.Level level = ILogger.Level.Info, bool force = false) => Logger.Log(message, level, force);

View File

@ -50,8 +50,8 @@ public class Event
// We use Ascending order because draw calls are running from last to first
private static readonly Comparer<ListenerData> SortByAscendingPriority = Comparer<ListenerData>.Create((x, y) => x.Priority.CompareTo(y.Priority));
private ILogger _logger = new ConsoleLogger();
public ILogger Logger { get => _logger; set => _logger = value ?? new ConsoleLogger(); }
private ILogger _logger = ILogger.Shared;
public ILogger Logger { get => _logger; set => _logger = value ?? ILogger.Shared; }
private readonly List<ListenerData> listeners = null!;
private readonly List<ListenerData> onceListeners = null!;
@ -209,8 +209,8 @@ public class Event<TSender> where TSender : class
// We use Ascending order because draw calls are running from last to first
private static readonly Comparer<ListenerData> SortByAscendingPriority = Comparer<ListenerData>.Create((x, y) => x.Priority.CompareTo(y.Priority));
private ILogger _logger = new ConsoleLogger();
public ILogger Logger { get => _logger; set => _logger = value ?? new ConsoleLogger(); }
private ILogger _logger = ILogger.Shared;
public ILogger Logger { get => _logger; set => _logger = value ?? ILogger.Shared; }
private readonly List<ListenerData> listeners = null!;
private readonly List<ListenerData> onceListeners = null!;
@ -376,8 +376,8 @@ public class Event<TSender, TArguments> where TSender : class
// We use Ascending order because draw calls are running from last to first
private static readonly Comparer<ListenerData> SortByAscendingPriority = Comparer<ListenerData>.Create((x, y) => x.Priority.CompareTo(y.Priority));
private ILogger _logger = new ConsoleLogger();
public ILogger Logger { get => _logger; set => _logger = value ?? new ConsoleLogger(); }
private ILogger _logger = ILogger.Shared;
public ILogger Logger { get => _logger; set => _logger = value ?? ILogger.Shared; }
private readonly List<ListenerData> listeners = null!;
private readonly List<ListenerData> onceListeners = null!;