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]); }, HttpClientInterface::class => function () { $client = make(GuzzleHttpClient::class); $logger = make(BasicFileLogger::class); $client = make(RetryableHttpClientService::class,['httpClient' => $client , 'logger' => $logger , 'maxRetries' => 2]); return make(LoggableHttpClientService::class,['httpClient' => $client , 'logger' => $logger]); } ];