LogHelper.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using DBHelper;
  2. using Microsoft.EntityFrameworkCore;
  3. using System;
  4. using System.Linq;
  5. using WCS.Entity;
  6. using WCS.Service.Log;
  7. namespace WCS.Service.Helpers
  8. {
  9. public class LogHelper
  10. {
  11. ///// <summary>
  12. ///// 添加异常记录
  13. ///// </summary>
  14. ///// <param name="msg">异常信息</param>
  15. ///// <param name="time">时间</param>
  16. //public static void AddWCS_EXCEPTION(string msg, DateTime time)
  17. //{
  18. // DB.Do(db =>
  19. // {
  20. // var exp = db.Default.Set<WCS_EXCEPTION>()
  21. // .Where(v => EF.Functions.DateDiffSecond(v.UPDATETIME, DateTime.Now) < 5)
  22. // .Where(v => v.MSG == msg)
  23. // .OrderByDescending(v => v.ID)
  24. // .FirstOrDefault();
  25. // if (exp == null)
  26. // {
  27. // exp = db.Default.Set<WCS_EXCEPTION>().Add(new WCS_EXCEPTION
  28. // {
  29. // MSG = msg,
  30. // STARTTIME = DateTime.Now,
  31. // TIMES = 0,
  32. // UPDATETIME = DateTime.Now,
  33. // UPDATEUSER = "WCS"
  34. // }).Entity;
  35. // }
  36. // exp.TIMES++;
  37. // exp.UPDATETIME = DateTime.Now;
  38. // db.Default.SaveChanges();
  39. // });
  40. //}
  41. /// <summary>
  42. /// 添加异常记录
  43. /// </summary>
  44. /// <param name="msg">异常信息</param>
  45. /// <param name="device">异常关联设备</param>
  46. /// <param name="type">异常类型</param>
  47. public static void AddWCS_EXCEPTION(string msg, string device, string type)
  48. {
  49. DB.Do(db =>
  50. {
  51. var exp = db.Default.Set<WCS_EXCEPTION>()
  52. .Where(v => EF.Functions.DateDiffSecond(v.UPDATETIME, DateTime.Now) < 5)
  53. .Where(v => v.MSG == msg)
  54. .OrderByDescending(v => v.ID)
  55. .FirstOrDefault();
  56. if (exp == null)
  57. {
  58. exp = db.Default.Set<WCS_EXCEPTION>().Add(new WCS_EXCEPTION
  59. {
  60. MSG = msg,
  61. DEVICE = device,
  62. EXCEPTIONTYPE = type,
  63. STARTTIME = DateTime.Now,
  64. TIMES = 0,
  65. UPDATETIME = DateTime.Now,
  66. UPDATEUSER = "WCS"
  67. }).Entity;
  68. }
  69. exp.TIMES++;
  70. exp.UPDATETIME = DateTime.Now;
  71. db.Default.SaveChanges();
  72. });
  73. }
  74. /// <summary>
  75. /// 拼接日志消息 ,避免返回异常时写错导致异常
  76. /// </summary>
  77. /// <param name="msg">异常信息</param>
  78. /// <param name="device">异常关联设备</param>
  79. /// <param name="type">异常类型</param>
  80. /// <returns></returns>
  81. public static string SpliceLogMessage(string msg, string device, WCS_EXCEPTIONTYPE type,Type type1)
  82. {
  83. InfoLog.INFO_ERROR($"{type1.FullName}--{msg}--{device}--{type}");
  84. return $"{msg}|{device}|{type}";
  85. }
  86. }
  87. }