Log.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\Core\Queue\Services;
  3. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Queue\Models\JobLog;
  4. class Log
  5. {
  6. const SUCCESS = 'success';
  7. const ERROR = 'error';
  8. const INFO = 'info';
  9. /**
  10. * @var Models\Job
  11. */
  12. protected $job;
  13. public function __construct(\ModulesGarden\Servers\ProxmoxCloudVps\Core\Queue\Models\Job $job)
  14. {
  15. $this->job = $job;
  16. }
  17. /**
  18. * @param $message
  19. * @param null $additional
  20. * @return $this
  21. */
  22. public function success($message, $additional = null)
  23. {
  24. $this->log(self::SUCCESS, $message, $additional);
  25. return $this;
  26. }
  27. /**
  28. * @param $message
  29. * @param null $additional
  30. * @return $this
  31. */
  32. public function error($message, $additional = null)
  33. {
  34. $this->log(self::ERROR, $message, $additional);
  35. return $this;
  36. }
  37. /**
  38. * @param $message
  39. * @param null $additional
  40. * @return $this
  41. */
  42. public function info($message, $additional = null)
  43. {
  44. $this->log(self::INFO, $message, $additional);
  45. return $this;
  46. }
  47. /**
  48. * @param $type
  49. * @param $message
  50. * @param null $additional
  51. * @return $this
  52. */
  53. protected function log($type, $message, $additional = null)
  54. {
  55. $model = new JobLog();
  56. $model->job_id = $this->job->id;
  57. $model->type = $type;
  58. $model->message = $message;
  59. $model->additional = serialize($additional);
  60. $model->save();
  61. return $this;
  62. }
  63. }