feat : Decorator Container

This commit is contained in:
2025-09-06 23:08:10 +08:00
parent 5e8cc5c61e
commit cc048c5600
13 changed files with 394 additions and 13 deletions

View File

@@ -11,10 +11,23 @@ declare(strict_types=1);
*/
use App\Interface\Test\Adapter\CacheInterface;
use App\Interface\Test\Decorator\LoggerInterface;
use App\Service\Test\Adapter\Cache\FileCacheAdapter;
use App\Service\Test\Adapter\Cache\RedisCacheService;
use App\Service\Test\Decorator\Container\BasicFileLogger;
use App\Service\Test\Decorator\Container\CriticalLoggerDecorator;
use App\Service\Test\Decorator\Container\IpLoggerDecorator;
use App\Service\Test\Decorator\Container\TimestampLoggerDecorator;
use Hyperf\Logger\LoggerFactory;
use function Hyperf\Support\make;
return [
CacheInterface::class => RedisCacheService::class,
// CacheInterface::class => FileCacheAdapter::class,
LoggerInterface::class => function () {
$logger = make(BasicFileLogger::class);
$logger = make(TimestampLoggerDecorator::class, ['logger' => $logger]);
$logger = make(IpLoggerDecorator::class, ['logger' => $logger]);
return make(CriticalLoggerDecorator::class, ['logger' => $logger]);
},
];

View File

@@ -27,4 +27,22 @@ return [
],
],
],
'app' => [
'handler' => [
'class' => Monolog\Handler\RotatingFileHandler::class,
'constructor' => [
'filename' => BASE_PATH . '/runtime/logs/app/hyperf.log',
'level' => Monolog\Logger::DEBUG,
],
],
'formatter' => [
'class' => Monolog\Formatter\LineFormatter::class,
'constructor' => [
'format' => null,
'dateFormat' => null,
'allowInlineLineBreaks' => true,
'ignoreEmptyContextAndExtra' => true,
],
],
],
];