add dev packages, caps Log util, add tools config
This commit is contained in:
@@ -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