LogHelper.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using DBHelper_SqlSugar;
  2. using Logs;
  3. using SqlSugar;
  4. using WCS.Entity;
  5. namespace WCS.Service.Helpers
  6. {
  7. public class LogHelper
  8. {
  9. /// <summary>
  10. /// 添加异常记录
  11. /// </summary>
  12. /// <param name="msg">异常信息</param>
  13. /// <param name="device">异常关联设备</param>
  14. /// <param name="type">异常类型 关联WCS_EXCEPTIONTYPE枚举</param>
  15. public static void AddWCS_EXCEPTION(string msg, string device, string type)
  16. {
  17. Db.Do(db =>
  18. {
  19. var exp = db.Default.Queryable<WCS_EXCEPTION>()
  20. .Where(v => SqlFunc.DateDiff(DateType.Second, v.UPDATETIME, DateTime.Now) < 5)
  21. .Where(v => v.MSG == msg)
  22. .OrderByDescending(v => v.ID)
  23. .First() ?? new WCS_EXCEPTION
  24. {
  25. MSG = msg,
  26. DEVICECODE = device,
  27. EXCEPTIONTYPE = type,
  28. STARTTIME = DateTime.Now,
  29. TIMES = 0,
  30. UPDATETIME = DateTime.Now,
  31. UPDATEUSER = "WCS"
  32. };
  33. exp.TIMES++;
  34. exp.UPDATETIME = DateTime.Now;
  35. db.Default.Storageable(exp).ExecuteCommand();
  36. });
  37. }
  38. /// <summary>
  39. /// 拼接日志消息 ,避免返回异常时写错导致异常
  40. /// </summary>
  41. /// <param name="msg">异常信息</param>
  42. /// <param name="device">异常关联设备</param>
  43. /// <param name="type">异常类型</param>
  44. /// <returns></returns>
  45. public static string SpliceLogMessage(string msg, string device, WCS_EXCEPTIONTYPE type, Type type1)
  46. {
  47. InfoLog.INFO_ERROR($"{type1.FullName}--{msg}--{device}--{type}");
  48. return $"{msg}|{device}|{type}";
  49. }
  50. }
  51. }