Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

42 lines
1.0KB

  1. <?php
  2. namespace App\Util;
  3. use Exception;
  4. use Illuminate\Support\Facades\Log;
  5. class LoggingUtil
  6. {
  7. public static function infoException(Exception $e, string|array $messages = [])
  8. {
  9. Log::error(self::getExceptionContents($e, $messages));
  10. }
  11. public static function warnException(Exception $e, string|array $messages = [])
  12. {
  13. Log::error(self::getExceptionContents($e, $messages));
  14. }
  15. public static function errorException(Exception $e, string|array $messages = [])
  16. {
  17. Log::error(self::getExceptionContents($e, $messages));
  18. }
  19. private static function getExceptionContents(Exception $e, string|array $messages)
  20. {
  21. if (is_string($messages)) {
  22. $message = $messages;
  23. $messages = [];
  24. $messages[] = $message;
  25. }
  26. return [
  27. ...$messages,
  28. '_message' => $e->getMessage(),
  29. '_file' => $e->getFile(),
  30. '_line' => $e->getLine(),
  31. '_exceptionType' => $e::class,
  32. ];
  33. }
  34. }