LogRow.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using System.Text;
  3. namespace MediaBrowser.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 string Category { get; set; }
  11. public int ThreadId { get; set; }
  12. public string ThreadName { get; set; }
  13. public DateTime Time { get; set; }
  14. public override string ToString()
  15. {
  16. StringBuilder builder = new StringBuilder();
  17. builder.Append(Time.ToString(TimePattern))
  18. .Append(" , ")
  19. .Append(Enum.GetName(typeof(LogSeverity), Severity))
  20. .Append(" , ")
  21. .Append(Encode(Message))
  22. .Append(" , ")
  23. .Append(Encode(Category))
  24. .Append(" , ")
  25. .Append(ThreadId)
  26. .Append(" , ")
  27. .Append(Encode(ThreadName));
  28. return builder.ToString();
  29. }
  30. private string Encode(string str)
  31. {
  32. return (str ?? "").Replace(",", ",,").Replace(Environment.NewLine, " [n] ");
  33. }
  34. }
  35. }