4
0

logger.class.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. use Monolog\Handler\SlackWebhookHandler;
  3. use Nekonomokochan\PhpJsonLogger\Logger;
  4. use Nekonomokochan\PhpJsonLogger\LoggerBuilder;
  5. class OrganizrLogger extends LoggerBuilder
  6. {
  7. public $isReady;
  8. /**
  9. * @var SlackWEbhookHandler
  10. */
  11. private $slackWebhookHandler;
  12. /**
  13. * @return boolean
  14. */
  15. public function getReadyStatus(): bool
  16. {
  17. return $this->isReady;
  18. }
  19. /**
  20. * @param boolean $readyStatus
  21. */
  22. public function setReadyStatus(bool $readyStatus)
  23. {
  24. $this->isReady = $readyStatus;
  25. }
  26. public function build(): Logger
  27. {
  28. if (!$this->isReady) {
  29. $this->setChannel('Organizr');
  30. $this->setLogLevel(self::DEBUG);
  31. $this->setMaxFiles(1);
  32. }
  33. return new Logger($this);
  34. }
  35. /**
  36. * @return SlackWebhookHandler
  37. */
  38. public function getSlackWebhookHandler(): ?SlackWebhookHandler
  39. {
  40. return $this->slackWebhookHandler;
  41. }
  42. /**
  43. * @param SlackWebhookHandler $slackWebhookHandler
  44. */
  45. public function setSlackWebhookHandler(SlackWebhookHandler $slackWebhookHandler)
  46. {
  47. $this->slackWebhookHandler = $slackWebhookHandler;
  48. }
  49. }