private void EnlistTraceItem(object sender, TraceItemReceivedEventArgs e) { if (!e.SenderAddress.ToString().Equals(_controllerClient.Address)) { return; } if (e.TraceItem.Severity == TraceItemSeverity.Verbose && !ShowVerboseMessages.Value) { return; } if (e.TraceItem.Severity == TraceItemSeverity.Info && !ShowInformations.Value) { return; } if (e.TraceItem.Severity == TraceItemSeverity.Warning && !ShowWarnings.Value) { return; } if (e.TraceItem.Severity == TraceItemSeverity.Error && !ShowErrors.Value) { return; } Application.Current.Dispatcher.Invoke(() => TraceItems.Insert(0, e.TraceItem)); }
private static void PrintTraceItem(object sender, TraceItemReceivedEventArgs e) { string timestamp = e.TraceItem.Timestamp.ToString("yyyy-MM-dd HH:mm:ss.fff"); var line = $"[{e.SenderAddress}] [{e.TraceItem.Id}] [{timestamp}] [{e.TraceItem.ThreadId}] [{e.TraceItem.Severity}]: {e.TraceItem.Message}"; var color = ConsoleColor.White; switch (e.TraceItem.Severity) { case TraceItemSeverity.Verbose: { color = ConsoleColor.Gray; break; } case TraceItemSeverity.Info: { color = ConsoleColor.Green; break; } case TraceItemSeverity.Warning: { color = ConsoleColor.Yellow; break; } case TraceItemSeverity.Error: { color = ConsoleColor.Red; break; } } lock (SyncRoot) { if (_loggingIsEnabled) { File.AppendAllText(Settings.Default.LogFilename, line + Environment.NewLine); } Console.ForegroundColor = color; Console.WriteLine(line); } }