Forráskód Böngészése

fixed duplicate logs

LukePulverenti 12 éve
szülő
commit
1d155fefe7

+ 1 - 1
MediaBrowser.Common.Implementations/Logging/NlogManager.cs

@@ -68,7 +68,7 @@ namespace MediaBrowser.Common.Implementations.Logging
         /// </summary>
         /// <param name="target">The target.</param>
         /// <param name="level">The level.</param>
-        private void AddLogTarget(Target target, LogSeverity level)
+        public void AddLogTarget(Target target, LogSeverity level)
         {
             var config = LogManager.Configuration;
             config.AddTarget(target.Name, target);

+ 6 - 5
MediaBrowser.ServerApplication/Logging/LogWindow.xaml.cs

@@ -42,13 +42,14 @@ namespace MediaBrowser.ServerApplication.Logging
         /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
         void LogWindow_Loaded(object sender, RoutedEventArgs e)
         {
-            var target = new TraceTarget
+            ((NlogManager)_logManager).RemoveTarget("LogWindowTraceTarget");
+
+            ((NlogManager)_logManager).AddLogTarget(new TraceTarget
             {
-                Layout = "${longdate}, ${level}, ${logger}, ${message}"
-            };
+                Layout = "${longdate}, ${level}, ${logger}, ${message}",
+                Name = "LogWindowTraceTarget"
 
-            ((NlogManager)_logManager).RemoveTarget("LogWindowTraceTarget");
-            AddLogTarget(target, "LogWindowTraceTarget");
+            }, LogSeverity.Debug);
         }
 
         /// <summary>

+ 17 - 8
MediaBrowser.ServerApplication/MainWindow.xaml.cs

@@ -80,7 +80,7 @@ namespace MediaBrowser.ServerApplication
         {
             DataContext = this;
 
-            Instance_ConfigurationUpdated(null, EventArgs.Empty);
+            UpdateButtons();
 
             _logManager.LoggerLoaded += LoadLogWindow;
             _configurationManager.ConfigurationUpdated += Instance_ConfigurationUpdated;
@@ -92,6 +92,21 @@ namespace MediaBrowser.ServerApplication
         /// <param name="sender">The source of the event.</param>
         /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
         void Instance_ConfigurationUpdated(object sender, EventArgs e)
+        {
+            UpdateButtons();
+
+            Dispatcher.InvokeAsync(() =>
+            {
+                var logWindow = App.Instance.Windows.OfType<LogWindow>().FirstOrDefault();
+
+                if ((logWindow == null && _configurationManager.Configuration.ShowLogWindow) || (logWindow != null && !_configurationManager.Configuration.ShowLogWindow))
+                {
+                    _logManager.ReloadLogger(_configurationManager.Configuration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info);
+                }
+            });
+        }
+
+        private void UpdateButtons()
         {
             Dispatcher.InvokeAsync(() =>
             {
@@ -102,13 +117,6 @@ namespace MediaBrowser.ServerApplication
                 separatorDeveloperTools.Visibility = developerToolsVisibility;
                 cmdReloadServer.Visibility = developerToolsVisibility;
                 cmOpenExplorer.Visibility = developerToolsVisibility;
-
-                var logWindow = App.Instance.Windows.OfType<LogWindow>().FirstOrDefault();
-
-                if ((logWindow == null && _configurationManager.Configuration.ShowLogWindow) || (logWindow != null && !_configurationManager.Configuration.ShowLogWindow))
-                {
-                    _logManager.ReloadLogger(_configurationManager.Configuration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info);
-                }
             });
         }
 
@@ -120,6 +128,7 @@ namespace MediaBrowser.ServerApplication
         void LoadLogWindow(object sender, EventArgs args)
         {
             CloseLogWindow();
+
             Dispatcher.InvokeAsync(() =>
             {
                 // Add our log window if specified