InvalidConfig.php 919 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace Facade\Ignition\Exceptions;
  3. use Exception;
  4. use Facade\IgnitionContracts\BaseSolution;
  5. use Facade\IgnitionContracts\ProvidesSolution;
  6. use Facade\IgnitionContracts\Solution;
  7. use Monolog\Logger;
  8. class InvalidConfig extends Exception implements ProvidesSolution
  9. {
  10. public static function invalidLogLevel(string $logLevel)
  11. {
  12. return new static("Invalid log level `{$logLevel}` specified.");
  13. }
  14. public function getSolution(): Solution
  15. {
  16. $validLogLevels = array_map(function (string $level) {
  17. return strtolower($level);
  18. }, array_keys(Logger::getLevels()));
  19. $validLogLevelsString = implode(',', $validLogLevels);
  20. return BaseSolution::create('You provided an invalid log level')
  21. ->setSolutionDescription("Please change the log level in your `config/logging.php` file. Valid log levels are {$validLogLevelsString}.");
  22. }
  23. }