Loggerrework (#45)
* test some refactoring for cachedplayer * rework logging * fix saving of log level --------- Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using MareSynchronos.Utils;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace MareSynchronos.Mediator;
|
||||
|
||||
@@ -7,6 +7,12 @@ public class MareMediator : IDisposable
|
||||
private record MediatorSubscriber(IMediatorSubscriber Subscriber, Action<IMessage> Action);
|
||||
|
||||
private readonly Dictionary<Type, HashSet<MediatorSubscriber>> _subscriberDict = new();
|
||||
private readonly ILogger<MareMediator> _logger;
|
||||
|
||||
public MareMediator(ILogger<MareMediator> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void Subscribe<T>(IMediatorSubscriber subscriber, Action<IMessage> action) where T : IMessage
|
||||
{
|
||||
@@ -38,7 +44,7 @@ public class MareMediator : IDisposable
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error("Error executing " + message.GetType() + " for subscriber " + subscriber + ", removing from Mediator", ex);
|
||||
_logger.LogCritical("Error executing " + message.GetType() + " for subscriber " + subscriber + ", removing from Mediator", ex);
|
||||
subscribers.RemoveWhere(s => s == subscriber);
|
||||
}
|
||||
}
|
||||
@@ -51,13 +57,13 @@ public class MareMediator : IDisposable
|
||||
{
|
||||
var unSubbed = kvp.Value.RemoveWhere(p => p.Subscriber == subscriber);
|
||||
if (unSubbed > 0)
|
||||
Logger.Verbose(subscriber + " unsubscribed from " + kvp.Key.Name);
|
||||
_logger.LogTrace(subscriber + " unsubscribed from " + kvp.Key.Name);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Logger.Verbose($"Disposing {GetType()}");
|
||||
_logger.LogTrace($"Disposing {GetType()}");
|
||||
_subscriberDict.Clear();
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,20 @@
|
||||
using MareSynchronos.Utils;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace MareSynchronos.Mediator;
|
||||
|
||||
public abstract class MediatorSubscriberBase : IMediatorSubscriber
|
||||
{
|
||||
protected ILogger _logger { get; }
|
||||
public MareMediator Mediator { get; }
|
||||
protected MediatorSubscriberBase(MareMediator mediator)
|
||||
protected MediatorSubscriberBase(ILogger logger, MareMediator mediator)
|
||||
{
|
||||
_logger = logger;
|
||||
Mediator = mediator;
|
||||
}
|
||||
|
||||
public virtual void Dispose()
|
||||
{
|
||||
Logger.Verbose($"Disposing {GetType()}");
|
||||
_logger.LogTrace($"Disposing {GetType()}");
|
||||
Mediator.UnsubscribeAll(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
using Dalamud.Interface.Windowing;
|
||||
using MareSynchronos.Utils;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace MareSynchronos.Mediator;
|
||||
|
||||
public abstract class WindowMediatorSubscriberBase : Window, IMediatorSubscriber
|
||||
{
|
||||
protected readonly ILogger _logger;
|
||||
|
||||
public MareMediator Mediator { get; }
|
||||
protected WindowMediatorSubscriberBase(MareMediator mediator, string name) : base(name)
|
||||
protected WindowMediatorSubscriberBase(ILogger logger, MareMediator mediator, string name) : base(name)
|
||||
{
|
||||
_logger = logger;
|
||||
Mediator = mediator;
|
||||
}
|
||||
|
||||
public virtual void Dispose()
|
||||
{
|
||||
Logger.Verbose($"Disposing {GetType()}");
|
||||
_logger.LogTrace($"Disposing {GetType()}");
|
||||
Mediator.UnsubscribeAll(this);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user