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));
        }
Example #2
0
        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);
            }
        }