diff --git a/Engine.Core/Debug/ILogger.cs b/Engine.Core/Debug/ILogger.cs index c66cfb7..babe6b6 100644 --- a/Engine.Core/Debug/ILogger.cs +++ b/Engine.Core/Debug/ILogger.cs @@ -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); diff --git a/Engine.Core/Debug/LoggerContainer.cs b/Engine.Core/Debug/LoggerContainer.cs index 5a556f3..22f3490 100644 --- a/Engine.Core/Debug/LoggerContainer.cs +++ b/Engine.Core/Debug/LoggerContainer.cs @@ -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); diff --git a/Engine.Core/Helpers/Event.cs b/Engine.Core/Helpers/Event.cs index 570af86..c216515 100644 --- a/Engine.Core/Helpers/Event.cs +++ b/Engine.Core/Helpers/Event.cs @@ -50,8 +50,8 @@ public class Event // We use Ascending order because draw calls are running from last to first private static readonly Comparer SortByAscendingPriority = Comparer.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 listeners = null!; private readonly List onceListeners = null!; @@ -209,8 +209,8 @@ public class Event where TSender : class // We use Ascending order because draw calls are running from last to first private static readonly Comparer SortByAscendingPriority = Comparer.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 listeners = null!; private readonly List onceListeners = null!; @@ -376,8 +376,8 @@ public class Event where TSender : class // We use Ascending order because draw calls are running from last to first private static readonly Comparer SortByAscendingPriority = Comparer.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 listeners = null!; private readonly List onceListeners = null!;