private void NewLogEntry(object sender, BotLoggerEntry entry) { Application.Current.Dispatcher.Invoke(() => { // Append the log message logRTB.AppendText(entry.Message + Environment.NewLine, entry.Color); // Scroll to the bottom of the log try { logRTB.SelectionStart = logRTB.TextLength; logRTB.ScrollToCaret(); } catch { } // Recreate the variables list variablesRTB.Clear(); foreach (var variable in vm.Variables) { var color = variable.MarkedForCapture ? LogColors.Tomato : LogColors.Yellow; variablesRTB.AppendText($"{variable.Name} ({variable.Type}) = {variable.AsString()}", color); } // Update the HTML view if (entry.CanViewAsHtml) { htmlViewer.HTML = entry.Message; } }); }
private void OnNewEntry(object sender, BotLoggerEntry entry) => NewLogEntry?.Invoke(this, entry);
private void OnNewEntry(object sender, BotLoggerEntry entry) => loggerViewer?.Refresh();