LogHelper.cs 1.9 KB

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