<?php namespace App\Service\Util\Support\Trace; use function config; use function storage_path; class CustomizeLogger { /** * 获取cp订阅的logger * @return mixed */ public static function getSubscribeLogger() { return self::getLogger('syncCpSubscribe'); } /** * 获取通用的logger <br> * 使用方法: <br> * $logger = CustomizeLogger::getLogger('test'); <br> * $logger->debug('kkk', ['aa' => 1]); <br> * $logger->info('kkk', ['aa' => 2]); <br> * .... <br> * @param string $logFileName 文件名 * @param string $logLevel 日志级别 * @param int $day 日志保留天数 * @see \Illuminate\Log\LogManager * @link modules/Common/config/log.php * @return \Psr\Log\LoggerInterface $logger */ public static function getLogger($logFileName, $logLevel='info', $day=7): \Psr\Log\LoggerInterface { $logChannel = \Log::build([ 'driver' => 'daily', 'days' => config('logging.custom.days.'.$logFileName, $day), 'path' => storage_path('logs/'.$logFileName.'.log'), 'level' => config('logging.custom.level.'.$logFileName, $logLevel), ]); return \Log::stack([$logChannel]); } }