feat: ILogger.Shared for global access
This commit is contained in:
		@@ -2,6 +2,8 @@ namespace Syntriax.Engine.Core.Debug;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public interface ILogger
 | 
					public interface ILogger
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    static ILogger Shared { get; set; } = new ConsoleLogger();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Level FilterLevel { get; set; }
 | 
					    Level FilterLevel { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void Log(string message, Level level = Level.Info, bool force = false);
 | 
					    void Log(string message, Level level = Level.Info, bool force = false);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@ namespace Syntriax.Engine.Core.Debug;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public class LoggerContainer : Behaviour, ILogger
 | 
					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 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);
 | 
					    public void Log(string message, ILogger.Level level = ILogger.Level.Info, bool force = false) => Logger.Log(message, level, force);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,8 +50,8 @@ public class Event
 | 
				
			|||||||
    // We use Ascending order because draw calls are running from last to first
 | 
					    // 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 static readonly Comparer<ListenerData> SortByAscendingPriority = Comparer<ListenerData>.Create((x, y) => x.Priority.CompareTo(y.Priority));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private ILogger _logger = new ConsoleLogger();
 | 
					    private ILogger _logger = ILogger.Shared;
 | 
				
			||||||
    public ILogger Logger { get => _logger; set => _logger = value ?? new ConsoleLogger(); }
 | 
					    public ILogger Logger { get => _logger; set => _logger = value ?? ILogger.Shared; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private readonly List<ListenerData> listeners = null!;
 | 
					    private readonly List<ListenerData> listeners = null!;
 | 
				
			||||||
    private readonly List<ListenerData> onceListeners = 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
 | 
					    // 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 static readonly Comparer<ListenerData> SortByAscendingPriority = Comparer<ListenerData>.Create((x, y) => x.Priority.CompareTo(y.Priority));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private ILogger _logger = new ConsoleLogger();
 | 
					    private ILogger _logger = ILogger.Shared;
 | 
				
			||||||
    public ILogger Logger { get => _logger; set => _logger = value ?? new ConsoleLogger(); }
 | 
					    public ILogger Logger { get => _logger; set => _logger = value ?? ILogger.Shared; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private readonly List<ListenerData> listeners = null!;
 | 
					    private readonly List<ListenerData> listeners = null!;
 | 
				
			||||||
    private readonly List<ListenerData> onceListeners = 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
 | 
					    // 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 static readonly Comparer<ListenerData> SortByAscendingPriority = Comparer<ListenerData>.Create((x, y) => x.Priority.CompareTo(y.Priority));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private ILogger _logger = new ConsoleLogger();
 | 
					    private ILogger _logger = ILogger.Shared;
 | 
				
			||||||
    public ILogger Logger { get => _logger; set => _logger = value ?? new ConsoleLogger(); }
 | 
					    public ILogger Logger { get => _logger; set => _logger = value ?? ILogger.Shared; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private readonly List<ListenerData> listeners = null!;
 | 
					    private readonly List<ListenerData> listeners = null!;
 | 
				
			||||||
    private readonly List<ListenerData> onceListeners = null!;
 | 
					    private readonly List<ListenerData> onceListeners = null!;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user