CustomizeLogger.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Service\Util\Support\Trace;
  3. use function config;
  4. use function storage_path;
  5. class CustomizeLogger
  6. {
  7. /**
  8. * 获取cp订阅的logger
  9. * @return mixed
  10. */
  11. public static function getSubscribeLogger() {
  12. return self::getLogger('syncCpSubscribe');
  13. }
  14. /**
  15. * 获取通用的logger <br>
  16. * 使用方法: <br>
  17. * $logger = CustomizeLogger::getLogger('test'); <br>
  18. * $logger->debug('kkk', ['aa' => 1]); <br>
  19. * $logger->info('kkk', ['aa' => 2]); <br>
  20. * .... <br>
  21. * @param string $logFileName 文件名
  22. * @param string $logLevel 日志级别
  23. * @param int $day 日志保留天数
  24. * @see \Illuminate\Log\LogManager
  25. * @link modules/Common/config/log.php
  26. * @return \Psr\Log\LoggerInterface $logger
  27. */
  28. public static function getLogger($logFileName, $logLevel='info', $day=7): \Psr\Log\LoggerInterface
  29. {
  30. $logChannel = \Log::build([
  31. 'driver' => 'daily',
  32. 'days' => config('logging.custom.days.'.$logFileName, $day),
  33. 'path' => storage_path('logs/'.$logFileName.'.log'),
  34. 'level' => config('logging.custom.level.'.$logFileName, $logLevel),
  35. ]);
  36. return \Log::stack([$logChannel]);
  37. }
  38. }