clean-log.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package jobs
  2. import (
  3. "IotAdmin/common"
  4. "IotAdmin/common/jobs"
  5. iotLog "IotAdmin/iot/log"
  6. "strconv"
  7. "strings"
  8. )
  9. // CleanLog
  10. // 新添加的job 必须按照以下格式定义,并实现Exec函数
  11. type CleanLog struct {
  12. }
  13. func (t *CleanLog) Exec(job *jobs.JobCore) error {
  14. job.Logger.Infof("【CleanLog】 EXEC START")
  15. err := common.CleanSysLog()
  16. if err != nil {
  17. job.Logger.Errorf("CleanSysLog EXEC ERROR:%s", err.Error())
  18. return err
  19. }
  20. arr := strings.Split(job.Args, ",")
  21. var p1, p2, p3 int
  22. p1, err = strconv.Atoi(arr[0])
  23. if err != nil {
  24. job.Logger.Errorf("CleanLog P1:%s EXEC ERROR:%s", arr[0], err.Error())
  25. return err
  26. }
  27. p2 = p1
  28. p3 = p1
  29. if len(arr) > 2 {
  30. p2, err = strconv.Atoi(arr[1])
  31. if err != nil {
  32. job.Logger.Errorf("CleanLog P2:%s EXEC ERROR:%s", arr[1], err.Error())
  33. return err
  34. }
  35. p3, err = strconv.Atoi(arr[2])
  36. if err != nil {
  37. job.Logger.Errorf("CleanLog P3:%s EXEC ERROR:%s", arr[2], err.Error())
  38. return err
  39. }
  40. } else if len(arr) > 1 {
  41. p2, err = strconv.Atoi(arr[1])
  42. if err != nil {
  43. job.Logger.Errorf("CleanLog P2:%s EXEC ERROR:%s", arr[1], err.Error())
  44. return err
  45. }
  46. }
  47. err = iotLog.Clean(p1, p2)
  48. if err != nil {
  49. job.Logger.Errorf("CleanLog EXEC ERROR:%s", err.Error())
  50. return err
  51. }
  52. err = jobs.CleanJobLog(p3)
  53. if err != nil {
  54. job.Logger.Errorf("CleanJobLog EXEC ERROR:%s", err.Error())
  55. return err
  56. }
  57. job.Logger.Infof("【CleanLog】 EXEC END\r\n")
  58. return nil
  59. }
  60. func (t *CleanLog) GetName() string {
  61. return "清理日志"
  62. }