Przeglądaj źródła

Cap log window at 10k rows

Eric Reed 12 lat temu
rodzic
commit
6176225a7a

+ 10 - 1
MediaBrowser.ServerApplication/Logging/LogWindow.xaml.cs

@@ -69,7 +69,16 @@ namespace MediaBrowser.ServerApplication.Logging
         /// <param name="msg">The MSG.</param>
         /// <param name="msg">The MSG.</param>
         public async void LogMessage(string msg)
         public async void LogMessage(string msg)
         {
         {
-            await Task.Factory.StartNew(() => lbxLogData.Items.Insert(0, msg.TrimEnd('\n')), CancellationToken.None, TaskCreationOptions.None, _uiThread);
+            await Task.Factory.StartNew(() =>
+                                            {
+                                                if (lbxLogData.Items.Count > 10000)
+                                                {
+                                                    //I think the quickest and safest thing to do here is just clear it out
+                                                    lbxLogData.Items.Clear();
+                                                }
+
+                                                lbxLogData.Items.Insert(0, msg.TrimEnd('\n'));
+                                            }, CancellationToken.None, TaskCreationOptions.None, _uiThread);
         }
         }
 
 
         /// <summary>
         /// <summary>