add dev packages, caps Log util, add tools config
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Command;
|
||||
|
||||
use Hyperf\Command\Command as HyperfCommand;
|
||||
use Hyperf\Command\Annotation\Command;
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
#[Command]
|
||||
class AppCompanySync extends HyperfCommand
|
||||
{
|
||||
public function __construct(protected ContainerInterface $container)
|
||||
{
|
||||
parent::__construct('app:company:sync');
|
||||
}
|
||||
|
||||
public function configure()
|
||||
{
|
||||
parent::configure();
|
||||
$this->setDescription('Sync companies from Tools Dashboard');
|
||||
}
|
||||
|
||||
public function handle()
|
||||
{
|
||||
$companies =
|
||||
|
||||
$this->line('Hello Hyperf!', 'info');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utils;
|
||||
|
||||
use Hyperf\Logger\LoggerFactory;
|
||||
use Hyperf\Context\ApplicationContext;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class Log
|
||||
{
|
||||
/**
|
||||
* 获取指定频道的日志实例
|
||||
*
|
||||
* @param string $channel 日志频道名称
|
||||
* @return LoggerInterface
|
||||
*/
|
||||
public static function get(string $channel = 'app'): LoggerInterface
|
||||
{
|
||||
return ApplicationContext::getContainer()->get(LoggerFactory::class)->get($channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择日志频道(链式调用)
|
||||
*
|
||||
* @param string $channel 日志频道名称
|
||||
* @return LoggerInterface
|
||||
*
|
||||
* @example Log::channel('custom')->error('Error message')
|
||||
* @example Log::channel('api')->info('API request', ['url' => '/api/users'])
|
||||
* @example Log::channel('database')->debug('Query executed', ['sql' => 'SELECT * FROM users'])
|
||||
*/
|
||||
public static function channel(string $channel): LoggerInterface
|
||||
{
|
||||
return self::get($channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* 魔术方法:静态调用日志方法(使用默认频道 'app')
|
||||
* 支持的日志级别:emergency, alert, critical, error, warning, notice, info, debug
|
||||
*
|
||||
* @param string $method 方法名(日志级别)
|
||||
* @param array $args 参数数组
|
||||
* @return void
|
||||
*
|
||||
* @example Log::error('Error message', ['context' => 'data'])
|
||||
* @example Log::info('Info message')
|
||||
*/
|
||||
public static function __callStatic(string $method, array $args): void
|
||||
{
|
||||
self::get()->$method(...$args);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user