LogInfoModel.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. using SqlSugar;
  2. using System.ComponentModel;
  3. namespace WMS.BZModels.Models.Log
  4. {
  5. /// <summary>
  6. /// 日志信息模型
  7. /// </summary>
  8. [Tenant("log")]
  9. [SugarTable("LogHubLogs")]
  10. public class LogInfoModel : BaseEntityModel
  11. {
  12. public LogInfoModel()
  13. {
  14. }
  15. /// <summary>
  16. /// 日志的生成时间,记录日志的产生时间
  17. /// </summary>
  18. public DateTime Timestamp { get; set; }
  19. /// <summary>
  20. /// 日志级别(如:信息、警告、错误等)
  21. /// </summary>
  22. public int LogLevel { get; set; }
  23. /// <summary>
  24. /// 日志消息内容,记录具体的日志信息
  25. /// </summary>
  26. public string? Message { get; set; }
  27. /// <summary>
  28. /// 日志记录的来源渠道(即触发此日志的程序名称)
  29. /// </summary>
  30. [SugarColumn(ColumnDataType = "symbol")]
  31. public string? LogSource { get; set; }
  32. /// <summary>
  33. /// 记录发生日志的模块或系统名称
  34. /// </summary>
  35. [SugarColumn(ColumnDataType = "symbol")]
  36. public string? SourceSystem { get; set; }
  37. /// <summary>
  38. /// 记录日志产生的类名或模块名,设备调度系统中可表示交互业务名
  39. /// </summary>
  40. [SugarColumn(ColumnDataType = "symbol")]
  41. public string? SourceClass { get; set; }
  42. /// <summary>
  43. /// 记录日志产生的具体方法名,设备调度系统中可表示具体产生交互的设备号
  44. /// </summary>
  45. [SugarColumn(ColumnDataType = "symbol")]
  46. public string? SourceMethod { get; set; }
  47. /// <summary>
  48. /// 用户信息,记录当前操作的用户(如用户ID、用户名等)
  49. /// </summary>
  50. public string? UserInfo { get; set; }
  51. /// <summary>
  52. /// 额外的上下文信息,可以用来存储一些额外的详细信息
  53. /// </summary>
  54. public string? Context { get; set; }
  55. /// <summary>
  56. /// 异常信息,记录错误时的堆栈信息(如果有异常)
  57. /// </summary>
  58. public string? ExceptionDetails { get; set; }
  59. /// <summary>
  60. /// 是否是临时日志,标记日志是否可以丢弃(如调试时产生的日志)
  61. /// </summary>
  62. public bool IsTemporary { get; set; }
  63. /// <summary>
  64. /// 日志的类型,区分是应用日志、系统日志等
  65. /// </summary>
  66. public LogType LogType { get; set; }
  67. /// <summary>
  68. /// 日志来源系统的标识(如微服务、模块、平台等)
  69. /// </summary>
  70. [SugarColumn(ColumnDataType = "symbol")]
  71. public string? SourceSystemIdentifier { get; set; }
  72. /// <summary>
  73. /// 请求ID,用于分布式系统中进行日志关联,便于追溯
  74. /// </summary>
  75. public string? RequestId { get; set; }
  76. /// <summary>
  77. /// 事务ID,用于标识一个事务或操作链
  78. /// </summary>
  79. public string? TransactionId { get; set; }
  80. /// <summary>
  81. /// 线程ID,用于标识一个线程
  82. /// </summary>
  83. public string? ThreadId { get; set; }
  84. }
  85. /// <summary>
  86. /// 日志级别
  87. /// </summary>
  88. public enum LogLevel
  89. {
  90. /// <summary>
  91. /// 信息
  92. /// </summary>
  93. [Description("信息")]
  94. INFO,
  95. /// <summary>
  96. /// 警告
  97. /// </summary>
  98. [Description("警告")]
  99. WARN,
  100. /// <summary>
  101. /// 错误
  102. /// </summary>
  103. [Description("错误")]
  104. ERROR,
  105. /// <summary>
  106. /// 调试
  107. /// </summary>
  108. [Description("调试")]
  109. DEBUG,
  110. /// <summary>
  111. /// 致命错误
  112. /// </summary>
  113. [Description("致命错误")]
  114. FATAL
  115. }
  116. /// <summary>
  117. /// 日志的类型
  118. /// </summary>
  119. public enum LogType
  120. {
  121. /// <summary>
  122. /// 应用日志
  123. /// </summary>
  124. [Description("应用日志")]
  125. Application,
  126. /// <summary>
  127. /// 系统日志
  128. /// </summary>
  129. [Description("系统日志")]
  130. System,
  131. /// <summary>
  132. /// 安全日志
  133. /// </summary>
  134. [Description("安全日志")]
  135. Security,
  136. /// <summary>
  137. /// 性能日志
  138. /// </summary>
  139. [Description("性能日志")]
  140. Performance
  141. }
  142. }