From 88bc5bd142d12b81af275290db71171c88d557be Mon Sep 17 00:00:00 2001 From: neuecc Date: Sun, 7 Jan 2024 01:06:44 +0900 Subject: [PATCH] remove logger dependency --- sandbox/ConsoleApp1/Program.cs | 2 +- src/R3/ObservableSystem.cs | 34 ++++------------------------------ src/R3/R3.csproj | 8 +++++++- src/R3/SubscriptionTracker.cs | 7 +------ 4 files changed, 13 insertions(+), 38 deletions(-) diff --git a/sandbox/ConsoleApp1/Program.cs b/sandbox/ConsoleApp1/Program.cs index 5011213f..0b317b98 100644 --- a/sandbox/ConsoleApp1/Program.cs +++ b/sandbox/ConsoleApp1/Program.cs @@ -14,7 +14,7 @@ x.SetMinimumLevel(LogLevel.Trace); x.AddZLoggerConsole(); }); -ObservableSystem.Logger = factory.CreateLogger(); +// ObservableSystem.Logger = factory.CreateLogger(); var logger = factory.CreateLogger(); diff --git a/src/R3/ObservableSystem.cs b/src/R3/ObservableSystem.cs index c730ac0e..ffd5cc32 100644 --- a/src/R3/ObservableSystem.cs +++ b/src/R3/ObservableSystem.cs @@ -1,17 +1,11 @@ -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using static Microsoft.Extensions.Logging.LogLevel; - -namespace R3; +namespace R3; public class ObservableSystem { - public static ILogger Logger { get; set; } = NullLogger.Instance; - public static TimeProvider DefaultTimeProvider { get; set; } = TimeProvider.System; public static FrameProvider DefaultFrameProvider { get; set; } = new NotSupportedFrameProvider(); - static Action unhandledException = WriteLog; + static Action unhandledException = DefaultUnhandledExceptionHandler; // Prevent +=, use Set and Get method. public static void RegisterUnhandledExceptionHandler(Action unhandledExceptionHandler) @@ -24,16 +18,9 @@ public static Action GetUnhandledExceptionHandler() return unhandledException; } - static void WriteLog(Exception exception) + static void DefaultUnhandledExceptionHandler(Exception exception) { - if (Logger == NullLogger.Instance) - { - Console.WriteLine("R3 UnhandleException: " + exception.ToString()); - } - else - { - Logger.UnhandledException(exception); - } + Console.WriteLine("R3 UnhandleException: " + exception.ToString()); } } @@ -49,16 +36,3 @@ public override void Register(IFrameRunnerWorkItem callback) throw new NotSupportedException("ObservableSystem.DefaultFrameProvider is not set. Please set ObservableSystem.DefaultFrameProvider to a valid FrameProvider(ThreadSleepFrameProvider, etc...)."); } } - -internal static partial class SystemLoggerExtensions -{ - [LoggerMessage(Trace, "Add subscription tracking TrackingId: {TrackingId}.")] - public static partial void AddTracking(this ILogger logger, int trackingId); - - [LoggerMessage(Trace, "Remove subscription TrackingId: {TrackingId}.")] - public static partial void RemoveTracking(this ILogger logger, int trackingId); - - [LoggerMessage(Error, "R3 EventSystem received unhandled exception.")] - public static partial void UnhandledException(this ILogger logger, Exception exception); - -} diff --git a/src/R3/R3.csproj b/src/R3/R3.csproj index c1e31b8d..04a431d0 100644 --- a/src/R3/R3.csproj +++ b/src/R3/R3.csproj @@ -20,7 +20,6 @@ - all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -31,9 +30,16 @@ + + + + + + + diff --git a/src/R3/SubscriptionTracker.cs b/src/R3/SubscriptionTracker.cs index ad87c8df..860ab5e3 100644 --- a/src/R3/SubscriptionTracker.cs +++ b/src/R3/SubscriptionTracker.cs @@ -1,9 +1,6 @@ -using Microsoft.Extensions.Logging; -using R3.Internal; -using System.Diagnostics; +using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Text; namespace R3; @@ -65,7 +62,6 @@ internal static bool TryTrackActiveSubscriptionCore(IDisposable subscription, in var id = Interlocked.Increment(ref trackingIdCounter); trackableDisposable = new TrackableDisposable(subscription, id); - ObservableSystem.Logger.AddTracking(id); tracking.TryAdd(trackableDisposable, new TrackingState(id, typeName, DateTime.Now, stackTrace)); // use local now. return true; @@ -167,7 +163,6 @@ public void Dispose() var field = Interlocked.CompareExchange(ref disposed, 1, 0); if (field == 0) { - ObservableSystem.Logger.RemoveTracking(trackingId); SubscriptionTracker.RemoveTracking(this); }