Log.php 851 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. declare(strict_types=1);
  3. namespace SixShop\System;
  4. use think\App;
  5. class Log extends \think\Log
  6. {
  7. public function __construct(App $app, private ExtensionManager $extensionManager, private string $extensionID)
  8. {
  9. parent::__construct($app);
  10. }
  11. public function getConfig(?string $name = null, $default = null)
  12. {
  13. if ($name == 'level') {
  14. return $this->getLevelConfig();
  15. }
  16. return parent::getConfig($name, $default);
  17. }
  18. private function getLevelConfig(): array
  19. {
  20. $level = parent::getConfig('level', []);
  21. if (in_array('debug', $level)) {
  22. return $level;
  23. }
  24. $debug = $this->extensionManager->getExtensionConfig($this->extensionID, 'debug');
  25. if ($debug) {
  26. $level[] = 'debug';
  27. }
  28. return $level;
  29. }
  30. }