ExceptionModel.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System.Diagnostics;
  2. namespace Hotline.Logger.Models
  3. {
  4. /// <summary>
  5. /// 异常日志
  6. /// </summary>
  7. public class ExceptionModel : BaseLogModel
  8. {
  9. /// <summary>
  10. /// 进程ID
  11. /// 应用程序的进程ID,可为空
  12. /// </summary>
  13. public string ProcessId
  14. {
  15. get
  16. {
  17. try
  18. {
  19. return Process.GetCurrentProcess().Id.ToString();
  20. }
  21. catch
  22. {
  23. return "获取进程Id失败";
  24. }
  25. }
  26. }
  27. /// <summary>
  28. /// 线程ID
  29. /// 可为空
  30. /// </summary>
  31. public string ThreadId
  32. {
  33. get
  34. {
  35. try
  36. {
  37. return Thread.CurrentThread.ManagedThreadId.ToString();
  38. }
  39. catch
  40. {
  41. return "获取线程Id失败";
  42. }
  43. }
  44. }
  45. /// <summary>
  46. /// 错误码
  47. /// 程序自定义的错误码,某种错误指定的错误码,没有定义时为为空
  48. /// </summary>
  49. public string ErrorCode { get; set; } = string.Empty;
  50. /// <summary>
  51. /// 异常信息
  52. /// Exception message信息
  53. /// </summary>
  54. public string Message { get; set; } = string.Empty;
  55. /// <summary>
  56. /// 异常上下文
  57. /// 包括了异常堆栈信息,用于分析具体问题
  58. /// </summary>
  59. public string Context { get; set; } = string.Empty;
  60. /// <summary>
  61. /// 被调用方法
  62. /// 被调用的方法,直接API地址
  63. /// </summary>
  64. public string Method { get; set; }
  65. }
  66. }