Пример #1
0
        /// <summary>
        /// Formats a log list entry.
        /// </summary>
        /// <para/>
        /// If the key is null, writes just the values.
        /// <param name="entry">Log entry.</param>
        /// <param name="renderer">Renderer for log data.</param>
        private void FormatEntry(LogList entry, IDataRenderer renderer)
        {
            if (!string.IsNullOrEmpty(entry.Key))
            {
                renderer.RenderKey(entry.Key)
                .RenderInvariant(KeyValueSeparator);
            }

            renderer.RenderInvariant(ListOpening);

            if (entry.Entries.Count > 0)
            {
                foreach (var value in entry.Entries)
                {
                    if (value is ILogEntry)
                    {
                        FormatEntry((ILogEntry)value, renderer);
                    }
                    else
                    {
                        renderer.RenderValue(value.ToString());
                    }

                    renderer.RenderInvariant(ListItemSeparator);
                }

                renderer.RemoveLastCharacter(); // Removes the last separator.
            }

            renderer.RenderInvariant(ListClosing);
        }
Пример #2
0
 /// <summary>
 /// Formats a basic key/value log entry.
 /// <para/>
 /// If the key is null, writes just the value.
 /// </summary>
 /// <param name="entry">Log entry.</param>
 /// <param name="renderer">Renderer for log data.</param>
 private void FormatEntry(LogEntry entry, IDataRenderer renderer)
 {
     if (string.IsNullOrEmpty(entry.Key))
     {
         renderer.RenderValue(entry.Value);
     }
     else
     {
         renderer.RenderKey(entry.Key)
         .RenderInvariant(KeyValueSeparator)
         .RenderValue(entry.Value);
     }
 }
Пример #3
0
        /// <summary>
        /// Formats a log object entry.
        /// </summary>
        /// <para/>
        /// If the key is null, writes just the values.
        /// <param name="entry">Log entry.</param>
        /// <param name="renderer">Renderer for log data.</param>
        private void FormatEntry(LogObject entry, IDataRenderer renderer)
        {
            if (!string.IsNullOrEmpty(entry.Key))
            {
                renderer.RenderKey(entry.Key)
                .RenderInvariant(KeyValueSeparator);
            }

            renderer.RenderInvariant(ObjectOpening);

            if (entry.Entries.Count > 0)
            {
                foreach (var value in entry.Entries)
                {
                    FormatEntry(value, renderer);
                    renderer.RenderInvariant(EntrySeparator);
                }

                renderer.RemoveLastCharacter(); // Removes the last separator.
            }

            renderer.RenderInvariant(ObjectClosing);
        }