Catel.LogAnalyzer.ViewModels.ResultsViewModel.LogEntriesToString C# (CSharp) Метод

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

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

            var maxTypeLength = _logEvents.Max(c => c.ToString("G").Length);
            var stringBuilder = new StringBuilder();

            var regexMultiline = new Regex(@"(?<=(^|\n)).*", RegexOptions.Multiline | RegexOptions.Compiled);

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

                    var message = entry.Message;
                    var matches = regexMultiline.Matches(message);

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

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

            return stringBuilder.ToString();
        }
        #endregion