LogRow.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using System.Collections.Generic;
  3. namespace MediaBrowser.Common.Logging
  4. {
  5. public struct LogRow
  6. {
  7. const string TimePattern = "h:mm:ss.fff tt d/M/yyyy";
  8. public LogSeverity Severity { get; set; }
  9. public string Message { get; set; }
  10. public int ThreadId { get; set; }
  11. public string ThreadName { get; set; }
  12. public DateTime Time { get; set; }
  13. public override string ToString()
  14. {
  15. var data = new List<string>();
  16. data.Add(Time.ToString(TimePattern));
  17. data.Add(Severity.ToString());
  18. if (!string.IsNullOrEmpty(Message))
  19. {
  20. data.Add(Encode(Message));
  21. }
  22. data.Add(ThreadId.ToString());
  23. if (!string.IsNullOrEmpty(ThreadName))
  24. {
  25. data.Add(Encode(ThreadName));
  26. }
  27. return string.Join(" , ", data.ToArray());
  28. }
  29. private string Encode(string str)
  30. {
  31. return (str ?? "").Replace(",", ",,").Replace(Environment.NewLine, " [n] ");
  32. }
  33. }
  34. }