浏览代码

Add a method to manually refresh the log configuration

Lucas Trzesniewski 3 年之前
父节点
当前提交
aadd298d1b
共有 2 个文件被更改,包括 6 次插入3 次删除
  1. 1 1
      src/Abc.Zebus/Core/BusMessageLogger.cs
  2. 5 2
      src/Abc.Zebus/ZebusLogManager.cs

+ 1 - 1
src/Abc.Zebus/Core/BusMessageLogger.cs

@@ -27,7 +27,7 @@ namespace Abc.Zebus.Core
             _logger = ZebusLogManager.GetLogger(loggerFullName);
 
             // Instances of BusMessageLogger are static, no need to unsubscribe from this event
-            ZebusLogManager.LoggerFactoryChanged += UpdateLogConfig;
+            ZebusLogManager.ConfigurationUpdated += UpdateLogConfig;
 
             UpdateLogConfig();
 

+ 5 - 2
src/Abc.Zebus/ZebusLogManager.cs

@@ -20,11 +20,11 @@ namespace Abc.Zebus
                     return;
 
                 _loggerFactory = value;
-                LoggerFactoryChanged?.Invoke();
+                RefreshConfiguration();
             }
         }
 
-        public static event Action? LoggerFactoryChanged;
+        public static event Action? ConfigurationUpdated;
 
         public static ILogger GetLogger(string name)
             => new ForwardingLogger(name);
@@ -32,6 +32,9 @@ namespace Abc.Zebus
         public static ILogger GetLogger(Type type)
             => GetLogger(type.FullName!);
 
+        public static void RefreshConfiguration()
+            => ConfigurationUpdated?.Invoke();
+
         private class ForwardingLogger : ILogger
         {
             private readonly string _name;