From 0e5cc8f898cf31eaaf13ac54e9f8066d52101976 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Sat, 12 Jul 2025 16:53:01 +0300 Subject: [PATCH] feat: added loggers to event classes --- Engine.Core/Helpers/Event.cs | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/Engine.Core/Helpers/Event.cs b/Engine.Core/Helpers/Event.cs index c8221f4..de869ff 100644 --- a/Engine.Core/Helpers/Event.cs +++ b/Engine.Core/Helpers/Event.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; +using Syntriax.Engine.Core.Debug; + namespace Syntriax.Engine.Core; /// @@ -48,6 +50,9 @@ 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 readonly List listeners = null!; private readonly List onceListeners = null!; @@ -126,7 +131,8 @@ public class Event catch (Exception exception) { string methodCallRepresentation = $"{listeners[i].Callback.Method.DeclaringType?.FullName}.{listeners[i].Callback.Method.Name}()"; - Console.WriteLine($"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogError(this, $"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogException(this, exception); } for (int i = onceListeners.Count - 1; i >= 0; i--) @@ -135,7 +141,8 @@ public class Event catch (Exception exception) { string methodCallRepresentation = $"{onceListeners[i].Callback.Method.DeclaringType?.FullName}.{onceListeners[i].Callback.Method.Name}()"; - Console.WriteLine($"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogError(this, $"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogException(this, exception); } onceListeners.RemoveAt(i); } @@ -204,6 +211,9 @@ 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 readonly List listeners = null!; private readonly List onceListeners = null!; @@ -283,7 +293,8 @@ public class Event catch (Exception exception) { string methodCallRepresentation = $"{listeners[i].Callback.Method.DeclaringType?.FullName}.{listeners[i].Callback.Method.Name}({sender})"; - Console.WriteLine($"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogError(sender, $"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogException(sender, exception); } for (int i = onceListeners.Count - 1; i >= 0; i--) @@ -292,7 +303,8 @@ public class Event catch (Exception exception) { string methodCallRepresentation = $"{onceListeners[i].Callback.Method.DeclaringType?.FullName}.{onceListeners[i].Callback.Method.Name}({sender})"; - Console.WriteLine($"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogError(sender, $"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogException(sender, exception); } onceListeners.RemoveAt(i); } @@ -368,6 +380,9 @@ 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 readonly List listeners = null!; private readonly List onceListeners = null!; @@ -448,7 +463,8 @@ public class Event catch (Exception exception) { string methodCallRepresentation = $"{listeners[i].Callback.Method.DeclaringType?.FullName}.{listeners[i].Callback.Method.Name}({string.Join(", ", sender, args)})"; - Console.WriteLine($"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogError(sender, $"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogException(sender, exception); } for (int i = onceListeners.Count - 1; i >= 0; i--) @@ -457,7 +473,8 @@ public class Event catch (Exception exception) { string methodCallRepresentation = $"{onceListeners[i].Callback.Method.DeclaringType?.FullName}.{onceListeners[i].Callback.Method.Name}({string.Join(", ", sender, args)})"; - Console.WriteLine($"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogError(sender, $"Unexpected exception on invocation of method {methodCallRepresentation}:{Environment.NewLine}{exception.InnerException}"); + Logger.LogException(sender, exception); } onceListeners.RemoveAt(i); }