Catel.Windows.Controls.TraceOutputViewModel.TraceEntriesToString C# (CSharp) Метод

TraceEntriesToString() приватный Метод

Converts a list of trace entries to a string.
private TraceEntriesToString ( IEnumerable entries ) : string
entries IEnumerable The entries.
Результат string
        private string TraceEntriesToString(IEnumerable<TraceEntry> entries)
        {
            const string columnText = " | ";

            int maxTypeLength = Levels.Max(c => c.ToString("G").Length);
            var rv = new StringBuilder();
            var rxMultiline = new Regex(@"(?<=(^|\n)).*", RegexOptions.Multiline | RegexOptions.Compiled);

            if (entries != null)
            {
                foreach (var entry in entries)
                {
                    string date = entry.Time.ToString(CultureInfo.CurrentCulture);
                    string type = entry.LogEvent.ToString("G").PadRight(maxTypeLength, ' ');
                    string datefiller = new String(' ', date.Length);
                    string typefiller = new String(' ', type.Length);

                    string message = entry.Message;
                    var matches = rxMultiline.Matches(message);

                    if (matches.Count > 0)
                    {
                        rv.AppendFormat("{0}{4}{1}{4}{2}{3}", date, type, matches[0].Value, Environment.NewLine, columnText);

                        if (matches.Count > 1)
                        {
                            for (int idx = 1, max = matches.Count; idx < max; idx++)
                            {
                                rv.AppendFormat("{0}{4}{1}{4}{2}{3}", datefiller, typefiller, matches[idx].Value, Environment.NewLine, columnText);
                            }
                        }
                    }
                }
            }

            return rv.ToString();
        }
        #endregion